Object Oriented Programming

What will be printed out in the 6 System.out.println statements in the following program?

(You need to include the circled index numbers in your answer)


public class PrintStrings{
    public static void main(String[] args){
String aString="Hi";
ResultString strInMain = new ResultString(); 
strInMain.str="Hello";
changeData(strInMain, aString);
System.out.println("In main, aString: "+aString);    //1
System.out.println("In main, strInMain: "+ strInMain.str);    //2    
}
public static void changeData(ResultString result, String aStr) {
ResultString strInMethod = new ResultString();
  aStr = aStr+", how are you?";
System.out.println("In method, aStr: "+aStr);   //3
result.str = result.str + ", how are you?"; 
System.out.println("In method, result (1): "+result.str);  //4
result = strInMethod ;
  strInMethod.str= "Good Day";
System.out.println("In method, result (2): "+result.str);   //5
result.str=result.str+" Good Day";
System.out.println("In method, strInMethod: "+strInMethod.str);     //6
}

}
class ResultString {
    public String str;
    public String str2;
}

首先,先执行语句changeData(strInMain,aString);

那么就会得到第一句,In method,aStr:Hi,how are you?

之后继续执行得到第二句,"In method, result(1):Hello,how are you?

之后就会得到第三句,In method, result (2): Good Day

之后得到第四句,In method, strInMethod: Good Day Good Day

之后返回去执行上面的语句,得到第五句,In main, aString: Hi

再之后得到最后一句,In main, strInMain: Hello, how are you?

最后的结果Result:

In method, aStr: Hi, how are you?

扫描二维码关注公众号,回复: 4725105 查看本文章

In method, result (1): Hello, how are you?

In method, result (2): Good Day

In method, strInMethod: Good Day Good Day

In main, aString: Hi

In main, strInMain: Hello, how are you?

猜你喜欢

转载自blog.csdn.net/qq_42615643/article/details/84986821