你的语法有问题。你用a.getName() 即可。这个是拿到名字的方法没有参数,你可以看你的Student对象中 的方法是这样的 。public String getName()
public是权限修饰符,表示所有地方都能用,String是返回值,也就是调用这个方法会返回一个字符串,getName()是方法名,用对象即可点出来。()括号里面是没有东西的,说明没有参数。
你可以比较下setName的方法 ,这个方法就是设置名字,你传入一个字符串就个这个Student对象取了个名字。
需要后续更多的指导么?可以私信我。整个Java体系,从零基础到资深架构师我都有讲过课
如果还不理解可以私信我。
作用域的问题
name,yw,sx,yy都是在for循环里面的,你在外面肯定调用不到的。如果想调用到就把变量的声明放到for循环外面,在for循环内只对变量赋值
并且最后的赋值要用set
String name;
int yw;
int sx;
int yy;
for (int i = 0; i < 4; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("XXXXXXXXXXXXX");
System.out.println("XXXXXXXXXXXXXXXX");
name = sc.nextLine();
System.out.println("XXXXXXXXXXXXXXX");
yw = sc.nextInt();
System.out.println("XXXXXXXXXXXXXXX");
sx = sc.nextInt();
System.out.println("XXXXXXXXXXXXXXX");
yy = sc.nextInt();
}
Student student = new Student();
student.setName(name);
student.setYw(yw);
student.setSx(sx);
student.setYy(yy);
望采纳
System.out.println("如有疑问,欢迎来交流");
System.out.println("觉得有帮助,可以采纳下");
都不是一个作用域,外面代码在大的作用域中,你要使用的变量是在for循环这个小作用域中声明的,是访问不了的