雪梨篮儿 2023-11-16 21:00 采纳率: 75.9%
浏览 4
已结题

java基础题挂了~~

跟着老湿写的,为什么我的会编译报错,提示主函数中的三个new语句cannot be referenced from static context,我是抄的,他的都没有编译失败。好奇怪,到底哪里错了,谢谢


```java
package homework;

public class HomeWork01 {
    public static void main(String[] args) {
        Person[] persons = new Person[3];
        persons[0] = new Person("maomao", 7, "dataengineer");
        persons[1] = new Person("huic", 37, "java");
        persons[2] = new Person("daoda", 35, "train");
        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i]);
        }
        System.out.println("排序后:======================");
        Person temp = null;
        for (int i = 0; i < persons.length-1; i++) {
            for (int j = 0; j < persons.length - i - 1; j++) {
                if (persons[j].getJob().length() > persons[j + 1].getJob().length()) {
                    temp = persons[j];
                    persons[j] = persons[j + 1];
                    persons[j + 1] = temp;
                }

            }

        }
        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i].toString());
        }
    }

     class Person {
       private String name;
        private int age;
        private  String job;

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

        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;
        }

        public String getJob() {
            return job;
        }

        public void setJob(String job) {
            this.job = job;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", job='" + job + '\'' +
                    '}';
        }
    }
}

```

  • 写回答

4条回答 默认 最新

  • 关注

    你错了一个大括号}把Person 写成了HomeWork01的内部类。就是HomeWork01结尾的}位置错了,应该在Person前面
    应该是

    public class HomeWork01 {
    }
    class Person {
    }
    

    而你写成了
    public class HomeWork01 {

    class Person {
    }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月18日
  • 已采纳回答 11月16日
  • 创建了问题 11月16日

悬赏问题

  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错