String str =new String("good"); char[] ch={'a','b','c'}; public static void main(String[] args) { qm5 ex=new qm5(); ex.change(ex.str,ex.ch); System.out.println(ex.str+"and"); System.out.println(ex.ch); } private void change(String str, char[] ch) { str="test ok"; ch[0]='g'; }
时间: 2024-04-26 18:25:52 浏览: 72
这段代码的输出结果是什么?
答案是:输出结果是test ok和gbc。原因是在change方法中,虽然对str变量进行了重新赋值,但是main方法中输出的还是原来的ex.str变量,而对于ch数组,change方法中修改了ch数组的第一个元素,这个变化在main方法中也会体现出来,所以输出的是gbc。
相关问题
public class Example{ String str=new String("good"); char []ch={‘a’,’b’,’c’}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); public void change(String str,char ch[]){ str="testok": ch[0]=’g’;}}
这是一个 Java 程序,定义了一个名为 Example 的类。该类中包含一个字符串类型的属性 str,以及一个字符数组类型的属性 ch。在 main 方法中,程序创建了一个 Example 类的对象 ex,并调用其 change 方法,将 ex.str 和 ex.ch 作为参数传递给该方法。change 方法会修改 str 和 ch 的值,将 str 修改为 "testok",将 ch 数组的第一个元素修改为 'g'。
在 main 方法中,程序先输出 ex.str 的值,由于 str 在 change 方法中被修改过,因此输出结果为 "good"。接着,程序输出 ex.ch 数组的值,由于 ch 数组是一个引用类型,其指向的内存地址在 change 方法中被修改过,因此输出结果为 "gbc"。
需要注意的是,该程序中存在一些语法错误:1、在字符串 "good" 的定义中,双引号应该为英文双引号;2、在程序的最后一行,System.out.print 方法的拼写错误,应该为 System.out.print。
public class Example { String str = new String("good"); char[] ch = { 'a', 'b', 'c' }; public static void main(String args[]) { Example ex = new Example(); ex.change(ex.str, ex.ch); System.out.print(ex.str + " and "); System.out.print(ex.ch); } public void change(String str, char ch[]) { str = "test ok"; ch[0] = 'g'; } }
这是一个 Java 代码示例,它的输出结果是 "good and gbc"。在 main 方法中,创建了一个 Example 对象 ex,并调用了它的 change 方法,传入了 ex.str 和 ex.ch 作为参数。在 change 方法中,对 str 进行了重新赋值,但是由于 Java 中的字符串是不可变的,所以实际上并没有改变原来的字符串。而对 ch 数组进行了修改,将第一个元素 'a' 改为了 'g'。因此,输出结果中的 ex.str 仍然是 "good",而 ex.ch 变成了 "gbc"。
阅读全文