简单的java学生管理系统

java简单的学生管理系统(无界面)

<span style="font-size:14px;">package Students;

public class Students {
    private String Name;
    private long Number;
    private String Class;
    private int Score;//不将数据域定义为私有的,定义为共有的,将使编写代码变得简单一些,可以省去很多方法
    
    
    public Students(){
        this("sdiuf h",6544534,"ef esf",48);//无意义
    }
            
    public Students(String Name,long Number,String Class){
        this(Name,Number,Class,0);//主要是想尝试一下this引用本类
    }
    
    public Students(String Name,long Number,String Class,int Score){
        this.Name = Name;
        this.Number = Number;
        this.Score = Score;
        this.Class = Class;
    }
    
    public void SetName(String Name){
        this.Name = Name;
    }
    
    public void SetNumber(long Number){
        this.Number = Number;
    }
    
    public void SetClass(String Class){
        this.Class = Class;
    }
    
    public void SetScore(int Score){
        this.Score = Score;
    }
    
    public String GetName(){
        return Name;
    }
    
    public long GetNumber(){
        return Number;
    }
    
    public String GetClass(){
        return Class;
    }
    
    public int GetScore(){
        return Score;
    } 
}
</span>
<span style="font-size:14px;"><pre name="code" class="java">package Students;

import java.util.Scanner;
import java.io.*;

public class MainStudents {
    static int i = 0;
    public static void main(String[] args) throws FileNotFoundException, IOException, Exception{
        
        Scanner Input = new Scanner(System.in);
        int choose;
        do{
            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("--------------【0】、退出应用----------------------");
            
            choose = Input.nextInt();
            
            switch(choose){
                case 1: Students1(); break;
                case 2: Students2(); break;
                case 3: Students3(); break;
                case 4: Students4(); break;
                case 5: Students5(); break;
                case 6: Students6(); break;
                case 0: Students0(); break;
                    default:
                        System.out.println("你输入的信息有误,请重新输入!");
            }
        }while(choose != 0);
    }

    private static void Students1() throws FileNotFoundException{
        Students[] stu = new Students[100];//这里只输入一组数据,可以不用对象数组,而直接用Students类
        Scanner Input = new Scanner(System.in);
        
        stu[i] = new Students();
        System.out.println("请输入学生的班级:");//以String类储存汉字,可能会出现乱码的情况
        stu[i].SetClass(Input.next());
        
        System.out.println("请输入学生的学号:");
        stu[i].SetNumber(Input.nextLong());

        System.out.println("请输入学生的姓名:");
        stu[i].SetName(Input.next());

        System.out.println("请输入学生的成绩:");
        stu[i].SetScore(Input.nextInt());
        
        System.out.println(stu[i].GetClass());
        File fl = new File("Students.txt");
        try (PrintWriter output = new PrintWriter(fl)) {
            output.print(stu[i].GetName() + "\t");
            output.print(stu[i].GetNumber() + "\t");
            output.print(stu[i].GetClass() + "\t");
            output.println(stu[i].GetScore());
        }
        
        i++;
        File Fl = new File("Number.txt");
        try(PrintWriter output = new PrintWriter(Fl)){
            output.print(i);
        }
        
    }

    private static void Students2() throws IOException{
       
       Scanner Input = new Scanner(System.in);
       
       File Fl = new File("Number.txt");
       try (Scanner input = new Scanner(Fl)) {
            i = input.nextInt();
        }
       
        try (FileWriter out = new FileWriter("Students.txt",true)) {//以在文件末尾添加数据的方式创建向文件内输入数据的类
            System.out.println("请输入学生的姓名");
            out.write("\t" + Input.next() + "\t");
            
            System.out.println("请输入学生的学号");
            out.write(Input.nextLong() + "\t");
            
            System.out.println("请输入学生的班级");
            out.write(Input.next() + "\t");
            
            System.out.println("请输入学生的成绩");
            out.write(Input.nextInt() + "\n");
        }
        
        i++;
        try(PrintWriter output = new PrintWriter(Fl)){
                output.print(i);
            }
    }

    private static void Students3() throws Exception{ 
        File Fl = new File("Number.txt");
        File fl = new File("Students.txt");
        try (Scanner input = new Scanner(Fl)) {
            i = input.nextInt();
        }
        
        System.out.println("请输入你想修改学生的学号");
        Scanner input = new Scanner(System.in);
        long Number = input.nextLong();
        
        Students[] stu = new Students[i];
        try(Scanner Input = new Scanner(fl)){
            for(int j =0;j < i;j++){
                stu[j] = new Students();//要先将对象数组初始化
                stu[j].SetName(Input.next());//不能使用nextLine(),此为输入以\n为结尾的所有数
                stu[j].SetNumber(Input.nextLong());
                stu[j].SetClass(Input.next());
                stu[j].SetScore(Input.nextInt());
                
                if(Number == stu[j].GetNumber()){
                    System.out.println("姓名\t学号\t班级\t成绩");
                    System.out.println(stu[j].GetName() + "\t" + stu[j].GetNumber() +
                        "\t" + stu[j].GetClass() + "\t" + stu[j].GetScore());
                    System.out.println("你确定删除这组数据?(Y/N)(不区分大小写)");
                    String choose = input.next();
                    System.out.println(choose);
                    if("Y".equals(choose)||"y".equals(choose)){//不能使用choose == "y"语句
                        j--;
                        i--;
                    }
                }
            }
        }
        
        try(PrintWriter output = new PrintWriter(Fl)){
            output.print(i);
        }
        
        if(i == 0){
            try (PrintWriter output = new PrintWriter(fl)) {
            }
        }
        else{
            try (PrintWriter output = new PrintWriter(fl)) {
                for(int j = 0;j < i;j ++){
                    output.print(stu[j].GetName() + "\t");
                    output.print(stu[j].GetNumber() + "\t");
                    output.print(stu[j].GetClass() + "\t");
                    output.println(stu[j].GetScore());
                }
            }
        }
    }

    private static void Students4() throws FileNotFoundException {
        File Fl = new File("Number.txt");
        File fl = new File("Students.txt");
        try (Scanner input = new Scanner(Fl)) {
            i = input.nextInt();
        }
        
        System.out.println("请输入你想修改学生的学号");
        Scanner input = new Scanner(System.in);
        long Number = input.nextLong();
        
        Students[] stu = new Students[i];
        try(Scanner Input = new Scanner(fl)){
            for(int j =0;j < i;j++){
                stu[j] = new Students();//要先将对象数组初始化
                stu[j].SetName(Input.next());//不能使用nextLine(),此为输入以\n为结尾的所有数
                stu[j].SetNumber(Input.nextLong());
                stu[j].SetClass(Input.next());
                stu[j].SetScore(Input.nextInt());
                
                if(Number == stu[j].GetNumber()){
                    System.out.println("姓名\t学号\t班级\t成绩");
                    System.out.println(stu[j].GetName() + "\t" + stu[j].GetNumber() +
                        "\t" + stu[j].GetClass() + "\t" + stu[j].GetScore());
                    System.out.println("请输入学生新的班级");
                    stu[j].SetClass(input.next());
                    System.out.println("请输入学生新的成绩");
                    stu[j].SetScore(input.nextInt());
                }
            }
        }
    
        try (PrintWriter output = new PrintWriter(fl)) {
            for(int j = 0;j < i;j ++){
                output.print(stu[j].GetName() + "\t");
                output.print(stu[j].GetNumber() + "\t");
                output.print(stu[j].GetClass() + "\t");
                output.println(stu[j].GetScore());
            }
        }
    }
    
    private static void Students5() throws FileNotFoundException {
        File Fl = new File("Number.txt");
        File fl = new File("Students.txt");
        try (Scanner input = new Scanner(Fl)) {
            i = input.nextInt();
        }
        
        System.out.println("请输入你想查看学生的学号");
        Scanner input = new Scanner(System.in);
        long Number = input.nextLong();
        
        Students[] stu = new Students[i];
        try(Scanner Input = new Scanner(fl)){
            for(int j =0;j < i;j++){
                stu[j] = new Students();//要先将对象数组初始化
                stu[j].SetName(Input.next());//不能使用nextLine(),此为输入以\n为结尾的所有数
                stu[j].SetNumber(Input.nextLong());
                stu[j].SetClass(Input.next());
                stu[j].SetScore(Input.nextInt());
                
                if(Number == stu[j].GetNumber()){
                    System.out.println("姓名\t学号\t班级\t成绩");
                    System.out.println(stu[j].GetName() + "\t" + stu[j].GetNumber() +
                        "\t" + stu[j].GetClass() + "\t" + stu[j].GetScore());
                }
            }
        }
    }

    private static void Students6() throws FileNotFoundException {
        File Fl = new File("Number.txt");
        File fl = new File("Students.txt");
        try (Scanner input = new Scanner(Fl)) {
            i = input.nextInt();
        }
        
        Students[] stu = new Students[i];
        System.out.println("姓名\t学号\t班级\t成绩");
        try(Scanner Input = new Scanner(fl)){
            for(int j =0;j < i;j++){
                stu[j] = new Students();//要先将对象数组初始化
                stu[j].SetName(Input.next());//不能使用nextLine(),此为输入以\n为结尾的所有数
                stu[j].SetNumber(Input.nextLong());
                stu[j].SetClass(Input.next());
                stu[j].SetScore(Input.nextInt());
                
                System.out.println(stu[j].GetName() + "\t" + stu[j].GetNumber() +
                        "\t" + stu[j].GetClass() + "\t" + stu[j].GetScore());
            }
        }
    }

    private static void Students0() {
        System.out.println("你将退出程序!");
    }
}</span>
为对象数组赋值是可以用此形式代替
stu[j] = new Students(Input.next(),Input.nextLong(),Input.next(),Input.nextInt());
因为在Students类里面已经定义此方法

                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值