求大神帮小弟看看这份JAVA代码究竟哪里出问题了 如何修改

public class Person {
String name;

public Person(String personName) {
        name = personName;
}

public String greet(String yourName) {
        return String.format("Hi %s, my name is %s", yourName,name);
}

}

应该是this.name = personName吧

这类没问题,是不是把你的问题贴出来。

public class Person {
private String name;
public Person(String personName) {
this.name = personName;
}
public String greet(String yourName) {
String str=null;
str = String.format("Hi %s, my name is %s", yourName,name);
System.out.println(str);
return str;
}
}

代码没问题啊,出了啥问题可以贴出来

代码没有编译上的错误,关键看你怎么用,和你想做什么。

this.name = personName;
yourName.name不是,吧。。。

程序没问题 , 构造函数中的this可以去了,因为你在外面定义了一个和方法内的变量不同的类成员变量!

如果用myeclipse/eclipse的话,建议以后直接用快捷方式【Shift+Alt+s】生成构造函数和get/set方法,这样就不用自己写,还要担心报错了。选项:1、 Generate Getter and Setter这个选项时快速生成get和set方法的,只需要在弹出框里面选择需要get/set方法的参数就可以了。2、Generate Constructor using Fields..这个是用来生成构造函数的,只需要在弹出框里面选择构造函数需要传递的参数就可以了。

String name = ""; 给个初始化吧