帮看下java代码错在哪

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:58:15
class MyString
{
private char str[]=new char[10];//定义字符数组

public void setStr(char[] i_str)
{
System.arraycopy(i_str,0,str,0,i_str.length); //复制数组
}
public char[] getStr(){return str;} //返回数组
}

class Changer
{
public void changerObj (MyString obj)
{
char i_str[]={'H','E','L','L','O',' ',' ',' ',' '}; //定义字符数组

obj.setStr(i_str); //将数组传入类对象的方法中
}
}

public class CallByReference2
{
public static void main(String args[])
{
char i_str[]={'M','y',' ','S','t','r','i','n','g'}; //定义字符数组

MyString AString=new MyString(); //定义一MyString类对象
Changer AChanger=new Changer(); //定义一Changer类对象

AString.setStr(i_str); //将数组传入对象

System.out.println(AString.getStr()); //输出数组返回值

AChanger.ch

AChanger.changeObj (AString);
应该是AChanger.changerObj (AString);

第35行应该是:
AChanger.changerObj (AString); //将对象传入方法

你打错字喽~

运行结果:
My String
HELLO

AChanger.changerObj (AString);
AChanger.changeObj (AString);
你打错字了......

AChanger.changeObj (AString); //将对象传入方法 这里写错了少了一个r
应该写成这样就对了。AChanger.changerObj (AString);其他都没问题。