Java 里的a.setname()怎么写不进去

img

img

img

img

你的语法有问题。你用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);

望采纳

1. 我是没明白,你的setName哪里设置不了了

2. 看你有个地方写的是getName(name),看方法名,这是get,可实际上的操作,看起来就像是set,这个很疑惑;

3. 其实开发工具中,本身就是有自动生成get,set的的方法,你如果不会写,可以参考下就知道怎么回事;

4. 比如在eclipse中,在.java文件中,可以鼠标右键,即可看到sources,然后看到【generate getter and setters】

5.idea 中同理可操作;

System.out.println("如有疑问,欢迎来交流");

System.out.println("觉得有帮助,可以采纳下");

都不是一个作用域,外面代码在大的作用域中,你要使用的变量是在for循环这个小作用域中声明的,是访问不了的