public class Student { private String number;//学号 private String name;//姓名 private String Sex;//性别 private String Class1;//班级 public Student(String number, String name, String Sex,String Class1) {//有参构造方法 this.number =number; this.name = name; this.Sex = sex; this.Class1 = class1; } public String getNumber() { return number; } public void setNumber(String number) { this.number= number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return Sex; } public void setSex(String Sex) { this.Sex = Sex; } public String getClass1() { return Class1; } public void setClass1(String Class1) { this.Class1 = Class1; } }//添加学生信息的方法 public class void main add (String[] args) if (num > stu.length - 1) { System.out.println("系统成员已满"); return; } Student student = new Student();//创建一个对象,用于接收信息,最后传给数组对象 System.out.println("请输入学号"); String number= in.next(); for (int i = 0; i<num; i++) { while (stu[i].getNumber().equals(number)) { System.out.println("学号输入重复,请重新输入"); number= in.next(); } } student.setNumber(number); System.out.println("请输入姓名"); student.setName(in.next()); System.out.println("请输入性别"); student.setSex(in.next()); System.out.println("请输入班级"); student.setClass1(in.next()); stu[num] = student; num++; System.out.println("添加成功"); } }改错
时间: 2024-03-26 12:42:16 浏览: 86
这段代码存在一些错误,我来帮你找出并改正:
1. `public class void main add (String[] args)` 这一行应该是 `public static void main(String[] args)`,表示这是一个静态的主方法。
2. `if (num > stu.length - 1)`,这里的 `num` 没有定义,应该先定义并初始化为 0。另外,`stu` 数组也没有被定义,需要先定义并初始化。
3. `Student student = new Student();` 这里应该在括号里传入四个参数,分别是学号、姓名、性别和班级。因为 `Student` 类的构造方法需要四个参数。
4. `while (stu[i].getNumber().equals(number))` 这里的 `i` 没有定义,应该使用一个循环来遍历已经添加的学生信息,找出是否已有相同学号的学生。
5. `student.setNumber(number);` 这里应该在输入学号时先判断是否重复,而不是在这里进行判断。
这是修改后的代码:
```
import java.util.Scanner;
public class Student {
private String number;//学号
private String name;//姓名
private String sex;//性别
private String class1;//班级
public Student(String number, String name, String sex, String class1) {//有参构造方法
this.number = number;
this.name = name;
this.sex = sex;
this.class1 = class1;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClass1() {
return class1;
}
public void setClass1(String class1) {
this.class1 = class1;
}
}
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Student[] stu = new Student[100];
int num = 0;
while (true) {
System.out.println("请输入要执行的操作:");
System.out.println("1.添加学生信息");
System.out.println("2.查看学生信息");
System.out.println("3.退出程序");
int choice = in.nextInt();
if (choice == 1) {
if (num > stu.length - 1) {
System.out.println("系统成员已满");
continue;
}
System.out.println("请输入学号");
String number = in.next();
for (int i = 0; i < num; i++) {
if (stu[i].getNumber().equals(number)) {
System.out.println("学号输入重复,请重新输入");
number = in.next();
i = -1;
}
}
System.out.println("请输入姓名");
String name = in.next();
System.out.println("请输入性别");
String sex = in.next();
System.out.println("请输入班级");
String class1 = in.next();
Student student = new Student(number, name, sex, class1);
stu[num] = student;
num++;
System.out.println("添加成功");
} else if (choice == 2) {
if (num == 0) {
System.out.println("没有学生信息");
continue;
}
System.out.println("学号\t姓名\t性别\t班级");
for (int i = 0; i < num; i++) {
Student student = stu[i];
System.out.println(student.getNumber() + "\t"
+ student.getName() + "\t"
+ student.getSex() + "\t"
+ student.getClass1());
}
} else if (choice == 3) {
System.out.println("程序已退出");
break;
} else {
System.out.println("请输入正确的操作编号");
}
}
}
}
```
阅读全文