自己写的学生管理系统

代码没有报错,但是运行结果功能实现不了麻烦大家帮忙看看

package student;
import java.util.*;
class  Stu{
    static Scanner sc=new Scanner(System.in);
     static Stu[] stu=new Stu[100];
    static int number=0;
    private String name;
    private long num;
    private int age;
    private char sex;
    private double sore;
    public Stu(){
        super();
    }
    public void setName(String name) {
        this.name=name;
    }
    public void setNum(long num) {
        this.num=num;
    }
    public void setAge(int age) {
        this.age=age;
    }
    public void setSex(char sex) {
        this.sex=sex;
    }
    public void setSore(double sore) {
        this.sore=sore;
    }
    public String getName() {
        return this.name;
    }
    public long getNum() {
        return this.num;
    }
    public int getAge() {
        return this.age;
    }
    public char getSex() {
        return this.sex;
    }
    public double getSore() {
        return this.sore;
    }
    public static void add(Stu stu[]) {
        System.out.println("请添加学生信息--按“0”停止输入");
        while(true) {
            if(sc.nextInt()==0)break;
            stu[number].setName(sc.next());
            stu[number].setNum(sc.nextLong());
            stu[number].setAge(sc.nextInt());
            stu[number].setSex(sc.next().charAt(0));
            stu[number].setSore(sc.nextInt());  
            number++;
            System.out.println("添加成功");
        }
    }
    public static void delete(Stu stu[]) {
        System.out.println("请输入删除学生学号");
        long num1=sc.nextLong();
        int i;
        for(i=0;i<stu.length;i++) {
            if(num1==stu[i].num) break;
            if(i==stu.length)System.out.println("未找到");
        }
        for(;i<stu.length-1;i++) {
            stu[i]=stu[i+1];
        }
        number--;
    }
    public static void update(Stu stu[]) {
        System.out.println("请输入修改的学生信息学号");
        long num2=sc.nextLong();
        int i;
        for(i=0;i<stu.length;i++) {
            if(num2==stu[i].num) {
                System.out.println("请输入修改内容选项及修改内容");
                System.out.println("1-修改姓名   2-修改学号   3-修改年龄  4-修改性别   5-修改成绩");
                int choice1=sc.nextInt();
                switch(choice1) {               
                case 1:stu[i].setName(sc.next());break;
                case 2:stu[i].setNum(sc.nextLong());break;
                case 3:stu[i].setAge(sc.nextInt());break;
                case 4:stu[i].setSex(sc.next().charAt(0));break;
                case 5:stu[i].setSore(sc.nextDouble());;break;
                }
                break;
            }
            if(i==stu.length)
                System.out.println("信息错误");
        }
    }
    public static void select(Stu stu[]) {
        System.out.println("请输入查询学生的学号");
        long num3=sc.nextLong();
        int i;
        for(i=0;i<stu.length;i++) {
            if(num3==stu[i].num)
                System.out.println("姓名"+stu[i].getName()+"学号"+stu[i].getNum()+"年龄"+stu[i].getAge()+"性别"+stu[i].getSex()+"成绩"+stu[i].getSore());
            if(i==stu.length)
                System.out.println("信息错误");
        }

    }
    public static void selectall(Stu stu[]) {
        System.out.println("全体学生信息");
        int i;
        for(i=0;i<stu.length;i++) {
            System.out.println("姓名"+stu[i].getName()+"学号"+stu[i].getNum()+"年龄"+stu[i].getAge()+"性别"+stu[i].getSex()+"成绩"+stu[i].getSore());
        }
    }
    public static void show() {
          int choice;
          System.out.println("这是一个学生信息管理系统,欢迎您对本系统的使用");
          while(true){
          System.out.println("1.信息添加");
          System.out.println("2.信息删除");
          System.out.println("3.信息修改");
          System.out.println("4.指定信息查询");
          System.out.println("5.总体信息查询");  
          System.out.println("6.退出");
          System.out.println("请输入你要进行的操作");
          choice=sc.nextInt();
          if(choice==6)break;
          switch(choice){
          case 1:     add(stu); break;//添加学生信息
          case 2:     delete(stu);break;//删除学生信息
          case 3:     update(stu);break;//修改学生信息
          case 4:     select(stu);break;//指定查询学生信息
          case 5:     selectall(stu);break;//总体信息查询
             }
          } 
      }
}
public class student{
    public static void main(String[] args){ 
        Stu stu=new Stu();
        stu.show();
        }   
    }

.你这个写的好乱啊。。 我之前正好帮别人也写了一个差不多功能的,不过也早了,所以写的也不是很好,你可以下载下来借鉴一下。。
https://github.com/LIlGG/ConsoleApplication

另外你这个无参构造函数里面super()没必要写, 这个类又没有父类。你super()也只是执行了Object的无参构造函数。
然后把功能分类,不要都在一个类里面写, stu就单独作为一个实体类。

方法和类该抽象的抽象一下

我也是刚接触软件开发这个行业,刚U1,针对你写的代码做了一下优化,我觉得这么写更加合理!跟你写了几个方法,

package user;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Student {
static List lists = new ArrayList(); //存放多个新增的学生信息

public static void main(String[] args) {
    Stu stu = new Stu();
    show();   //列表展示
}

private static void show() {

    Scanner sc = new Scanner(System.in);
    int choice = 0;
    System.out.println("这是一个学生信息管理系统,欢迎您对本系统的使用");
    while (true) {
        System.out.println("1.信息添加,2.信息删除,3.信息修改,4.指定信息查询,5.总体信息查询,6.退出");
        System.out.println("请输入");
        choice = sc.nextInt();
        if (choice == 6) break;
        switch (choice) {
            case 1:
                add();
                break;//添加学生信息
            case 2:
                delete();
                break;//删除学生信息
            case 3:
                //update();
                break;//修改学生信息
            case 4:
             //  select(stu);
                break;//指定查询学生信息
            case 5:
             //   selectall(stu);
                break;//总体信息查询
        }
    }
}

public static void add() {
    Scanner scanner = new Scanner(System.in);
    while (true) {
        System.out.println("1.添加学生信息,0.操作结束");
        int arr = scanner.nextInt();
        if (arr == 0){
            System.out.println("===人员录入结束!===");
            break;
        } ;
        //创建学生对象
        Stu stu = new Stu();
        System.out.println("请输入姓名:");
        String userName = scanner.next();
        stu.setName(userName);
        System.out.println("请输入数量:");
        long num = scanner.nextLong();
        stu.setNum(num);
        System.out.println("请输入年龄:");
        int age = scanner.nextInt();
        stu.setAge(age);
        System.out.println("请输入性别:");
        char sex = scanner.next().charAt(0);
        stu.setSex(sex);
        System.out.println("请输入成绩:");
        double score = scanner.nextDouble();
        stu.setSore(score);
        lists.add(stu);
        System.out.println("==========添加成功=========");
        for(Stu student:lists){
            System.out.println("已录入成功人员:" + student);
        }
    }
}


public static void delete() {
    Scanner scanner = new Scanner(System.in);
    while (true) {
        System.out.println("1.删除开始,0.操作结束");
        int arr = scanner.nextInt();
        if (arr == 0){
            System.out.println("===删除结束!===");
            break;
        } ;

        System.out.println("请输入删除学生学号~");
        long num1 = scanner.nextLong();   //学号
        if( null != lists && lists.size() >0){
            for(int i = 0 ;i < lists.size() ;i++){
                if(num1 == lists.get(i).getNum()){
                    lists.remove(i);
                    System.out.println("删除成功!删除人员为:" + lists.get(i));
                }else{
                    continue;
                }
            }
        }
        System.out.println("剩余人员个数为:" + lists.size());

    }


}

public static void selectall(Stu stu[]) {
    System.out.println("全体学生信息");
    int i;
    for (i = 0; i < stu.length; i++) {
        System.out.println("姓名" + stu[i].getName() + "学号" + stu[i].getNum() + "年龄" + stu[i].getAge() + "性别" + stu[i].getSex() + "成绩" + stu[i].getSore());
    }
}

}

class Stu {
private String name;
private long num;
private int age;
private char sex;
private double sore;

public String getName() {
    return name;
}

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

public long getNum() {
    return num;
}

public void setNum(long num) {
    this.num = num;
}

public int getAge() {
    return age;
}

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

public char getSex() {
    return sex;
}

public void setSex(char sex) {
    this.sex = sex;
}

public double getSore() {
    return sore;
}

public void setSore(double sore) {
    this.sore = sore;
}

@Override
public String toString() {
    return "Stu{" +
            "name='" + name + '\'' +
            ", num=" + num +
            ", age=" + age +
            ", sex=" + sex +
            ", sore=" + sore +
            '}';
}

}

错误是因为空指针异常,首先add学生的时候stu[number]没有进行初始化,该对象为空,所以调用set方法的时候会出现null pointer exception,还有其他操作,在遍历stu数组的时候需要进行判空操作,保证调用对象的方法时,该对象不为空。

class  Stu{
    static Scanner sc=new Scanner(System.in);
     static Stu[] stu=new Stu[100];
    static int number=0;
    private String name;
    private long num;
    private int age;
    private char sex;
    private double sore;
    public Stu(){
        super();
    }
    public void setName(String name) {
        this.name=name;
    }
    public void setNum(long num) {
        this.num=num;
    }
    public void setAge(int age) {
        this.age=age;
    }
    public void setSex(char sex) {
        this.sex=sex;
    }
    public void setSore(double sore) {
        this.sore=sore;
    }
    public String getName() {
        return this.name;
    }
    public long getNum() {
        return this.num;
    }
    public int getAge() {
        return this.age;
    }
    public char getSex() {
        return this.sex;
    }
    public double getSore() {
        return this.sore;
    }
    public static void add(Stu stu[]) {
        System.out.println("请添加学生信息--按“0”停止输入");
        while(true) {
            if(sc.next().equals("0"))break;
            stu[number] = new Stu();//首先要初始化对象
            stu[number].setName(sc.next());
            stu[number].setNum(sc.nextLong());
            stu[number].setAge(sc.nextInt());
            stu[number].setSex(sc.next().charAt(0));
            stu[number].setSore(sc.nextInt());  
            number++;
            System.out.println("添加成功");
        }
    }
    public static void delete(Stu stu[]) {
        System.out.println("请输入删除学生学号");
        long num1=sc.nextLong();
        int i;
        for(i=0;i<stu.length;i++) {
            if (stu[i] != null) {//判空,保证stu[i]不为空
                if(num1==stu[i].num) break;
                if(i==stu.length)System.out.println("未找到");
            }
        }
        for(;i<stu.length-1;i++) {
            stu[i]=stu[i+1];
        }
        number--;
    }
    public static void update(Stu stu[]) {
        System.out.println("请输入修改的学生信息学号");
        long num2=sc.nextLong();
        int i;
        for(i=0;i<stu.length;i++) {
            if (stu[i] != null) {{//判空
                if(num2==stu[i].num) {
                    System.out.println("请输入修改内容选项及修改内容");
                    System.out.println("1-修改姓名   2-修改学号   3-修改年龄  4-修改性别   5-修改成绩");
                    int choice1=sc.nextInt();
                    switch(choice1) {               
                    case 1:stu[i].setName(sc.next());break;
                    case 2:stu[i].setNum(sc.nextLong());break;
                    case 3:stu[i].setAge(sc.nextInt());break;
                    case 4:stu[i].setSex(sc.next().charAt(0));break;
                    case 5:stu[i].setSore(sc.nextDouble());;break;
                    }
                    break;
                }
            }
            if(i==stu.length)
                System.out.println("信息错误");
        }
    }
    public static void select(Stu stu[]) {
        System.out.println("请输入查询学生的学号");
        long num3=sc.nextLong();
        int i;
        for(i=0;i<stu.length;i++) {
            if (stu[i] != null) {{//判空
                if(num3==stu[i].num)
                    System.out.println("姓名"+stu[i].getName()+"学号"+stu[i].getNum()+"年龄"+stu[i].getAge()+"性别"+stu[i].getSex()+"成绩"+stu[i].getSore());
                if(i==stu.length)
                    System.out.println("信息错误");
            }
        }

    }
    public static void selectall(Stu stu[]) {
        System.out.println("全体学生信息");
        int i;
        for(i=0;i<stu.length;i++) {
            if (stu[i] != null) {{//判空
                System.out.println("姓名"+stu[i].getName()+"学号"+stu[i].getNum()+"年龄"+stu[i].getAge()+"性别"+stu[i].getSex()+"成绩"+stu[i].getSore());
            }
        }
    }
    public static void show() {
          int choice;
          System.out.println("这是一个学生信息管理系统,欢迎您对本系统的使用");
          while(true){
          System.out.println("1.信息添加");
          System.out.println("2.信息删除");
          System.out.println("3.信息修改");
          System.out.println("4.指定信息查询");
          System.out.println("5.总体信息查询");  
          System.out.println("6.退出");
          System.out.println("请输入你要进行的操作");
          choice=sc.nextInt();
          if(choice==6)break;
          switch(choice){
          case 1:     add(stu); break;//添加学生信息
          case 2:     delete(stu);break;//删除学生信息
          case 3:     update(stu);break;//修改学生信息
          case 4:     select(stu);break;//指定查询学生信息
          case 5:     selectall(stu);break;//总体信息查询
             }
          } 
      }
}