[初学者] 请问这个问题要怎么解决?

在测试的时候发生如下

按照查找的方法改了编码 

最后重新测试结果还是 

public class suibian {
    public static void main(String[] args) {
        sg s1 = new sg();
        System.out.println(s1.getName() + s1.getAge());
    }
}

class sg{
    private String name;
    private int age;

    public sg() {
    }

    public sg(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

 

你的 { } 错位了。

把class sg 后面的那些方法都放在 sg里面。而不是和class sg一个层级

 

直接问题:

1. 请阅读第3张图片第一个错误提示,提示在suibian.java的第12行有错。

2. 那么请看第12行附近,可以看出第11行的右大括号:} , 这个应该是匹配第7行的左大括号。

3. 把第11行的右大括号剪切到最后一行,也就是第31行。这样从12行开始到30行的这些类的成员函数才能被包含在类sg的声明里面。这也是为什么错误里提示说:“需要class、interface或者enum”,java里面函数必须在class、interface内,不能定义自由函数。

 

元问题:

1. 请不要用sg这种命名做类的名字。类名应该是大写开头的1到多个单词构成的驼峰命名风格。养成好的命名习惯很重要。

2. 可选的可以使用一个好的JavaIDE,一定要用编辑器的话,可以使用Visual Studio Code也行。

3. 遇到错误的话,要先尝试读错误提示,很多错误提示其实已经指出错误是什么了,经常读的话久了你就知道它们在说什么。

 

 

为什么还是这样

我用四楼的代码测试结果还是和原来一样,图片传不上去

你确定是复制过去的吗?报的还是同样的错?

发现了是文件名的原因谢谢