zoukankan      html  css  js  c++  java
  • Java_学生信息管理系统——数组版——尝试将main函数单独放了一个类,并加了文件

    开学后学习Java文件操作,并为了研究main究竟放在那里的问题,又写了一遍学生信息管理系统。这次放弃用Array List,就用了普通的一维数组。顺便整理上来。

     1 package Student;
     2 
     3 public class Student
     4 {
     5     private String stunumber; 
     6     private String name;
     7     private int age;
     8     private boolean sex;//man=false,woman=true
     9     private Double score;
    10     Student ()
    11     {
    12         stunumber="";
    13         name="";
    14         age=0;
    15         sex=false;
    16         score=0.0;
    17     }
    18     Student (String a,String b,int c,boolean d,Double e)
    19     {
    20         stunumber=a;
    21         name=b;
    22         age=c;
    23         sex=d;
    24         score=e;
    25     }
    26     public void set_stunumber(String str)
    27     {
    28         stunumber=str;
    29     }
    30     public void set_name(String str)
    31     {
    32         name=str;
    33     }
    34     public void set_age(int n)
    35     {
    36         age=n;
    37     }
    38     public void set_sex(boolean bool)
    39     {
    40         sex=bool;
    41     }
    42     public void set_score(Double n)
    43     {
    44         score=n;
    45     }
    46     public String get_stunumber()
    47     {
    48         return stunumber;
    49     }
    50     public String get_name()
    51     {
    52         return name;
    53     }
    54     public int get_age()
    55     {
    56         return age;
    57     }
    58     public boolean get_sex()
    59     {
    60         return sex;
    61     }
    62     public Double get_score()
    63     {
    64         return score;
    65     }
    66 
    67 }
      1 package Student;
      2 import java.util.Scanner;
      3 import java.io.*;
      4 public class StudentManager
      5 {
      6     private Student stu[]=new Student[100];
      7     private int number;
      8     StudentManager()
      9     {
     10         number=0;
     11         
     12     }
     13     public void showStudent()
     14     {
     15         String s;
     16         for(int i=0;i<number;i++)
     17         {
     18             if(stu[i].get_sex()==true)
     19             {
     20                 s="女";
     21             }
     22             else
     23             {
     24                 s="男";
     25             }
     26             System.out.print("("+(i+1)+")	");
     27             System.out.print("学号: ");
     28             System.out.print(stu[i].get_stunumber());
     29             System.out.print("  姓名: ");
     30             System.out.print(stu[i].get_name());
     31             System.out.print("  年龄: ");
     32             System.out.print(stu[i].get_age());
     33             System.out.print("  性别: ");
     34             System.out.print(s);
     35             System.out.print("  成绩: ");
     36             System.out.println(stu[i].get_score());
     37         }
     38     }
     39     public void addStudent()
     40     {
     41         Scanner input=new Scanner(System.in);
     42         String a, b,f;
     43         int c;
     44         boolean d=false;
     45         Double e;
     46         int f1=1;
     47         do
     48         {
     49             System.out.println("请依次输入学号 姓名 年龄 性别 成绩");
     50             a=input.next();
     51             b=input.next();
     52             c=input.nextInt();
     53             f=input.next();
     54             e=input.nextDouble();
     55             if(f.equals("女"))
     56             {
     57                 d=true;
     58             }
     59             else
     60             {
     61                 d=false;
     62             }
     63             if(judgeSame(a)==true)
     64             {
     65                 stu[number]=new Student();
     66                 stu[number].set_stunumber(a);
     67                 stu[number].set_name(b);
     68                 stu[number].set_age(c);
     69                 stu[number].set_sex(d);
     70                 stu[number].set_score(e);
     71                 number++;
     72                 System.out.println("是否继续?是 1  否 0");
     73                 f1=input.nextInt();
     74             }
     75             else
     76             {
     77                 System.out.println("学号重复!该学生已存在!");
     78                 f1=1;
     79             }
     80         }while(f1==1);
     81     }
     82     private boolean judgeSame(String s)
     83     {
     84         for(int i=0;i<number;i++)
     85         {
     86             if(s.equals(stu[i].get_stunumber())==true)
     87             {
     88                 return false;
     89             }
     90         }
     91         return true;
     92     }
     93     public void deleteStudent()
     94     {
     95         Scanner input=new Scanner(System.in);
     96         String s;
     97         System.out.println("请输入要删除的学生的学号:");
     98         s=input.next();
     99         boolean f=false;
    100         for(int i=0;i<number;i++)
    101         {
    102             if(s.equals(stu[i].get_stunumber()))
    103             {
    104                 f=true;
    105                 number--;
    106                 for(int t=i;t<number;t++)
    107                 {
    108                     stu[t]=stu[t+1];
    109                 }
    110             }
    111         }
    112         if(f==false)
    113         {
    114         System.out.println("删除失败!该学生不存在");
    115         }
    116     }
    117     public void selectStudent()
    118     {
    119         Scanner input=new Scanner(System.in);
    120         String s;
    121         System.out.println("请输入要查询的学生的学号:");
    122         s=input.next();
    123         boolean flag=false;
    124         for(int i=0;i<number;i++)
    125         {
    126             if(s.equals(stu[i].get_stunumber()))
    127             {
    128                 flag=true;
    129                 if(stu[i].get_sex()==true)
    130                 {
    131                     s="女";
    132                 }
    133                 else
    134                 {
    135                     s="男";
    136                 }
    137                 System.out.print("学号: ");
    138                 System.out.print(stu[i].get_stunumber());
    139                 System.out.print("  姓名: ");
    140                 System.out.print(stu[i].get_name());
    141                 System.out.print("  年龄: ");
    142                 System.out.print(stu[i].get_age());
    143                 System.out.print("  性别: ");
    144                 System.out.print(s);
    145                 System.out.print("  成绩: ");
    146                 System.out.println(stu[i].get_score());
    147             }
    148         }
    149         if(flag==false)
    150         {
    151         System.out.println("该学生不存在!");
    152         }
    153     }
    154     public void updateStudent()
    155     {
    156         Scanner input=new Scanner(System.in);
    157         String s;
    158         String a, b,f;
    159         int c;
    160         boolean d=false;
    161         Double e;
    162         System.out.println("请输入要修改的学生的学号:");
    163         s=input.next();
    164         boolean flag=false;
    165         for(int i=0;i<number;i++)
    166         {
    167             if(s.equals(stu[i].get_stunumber()))
    168             {
    169                 flag=true;
    170                 System.out.println("请依次输入学号 姓名 年龄 性别 成绩");
    171                 a=input.next();
    172                 b=input.next();
    173                 c=input.nextInt();
    174                 f=input.next();
    175                 e=input.nextDouble();
    176                 if(f.equals("女"))
    177                 {
    178                     d=true;
    179                 }
    180                 else
    181                 {
    182                     d=false;
    183                 }
    184                 if(judgeSame(a)==true)
    185                 {
    186                     stu[i]=new Student();
    187                     stu[i].set_stunumber(a);
    188                     stu[i].set_name(b);
    189                     stu[i].set_age(c);
    190                     stu[i].set_sex(d);
    191                     stu[i].set_score(e);
    192                 }
    193                 else
    194                 {
    195                     System.out.println("修改失败!学号重复!该学生已存在!");
    196                 }
    197             }
    198         }
    199         if(flag==false)
    200         {
    201         System.out.println("修改失败!该学生不存在!");
    202         }
    203     }
    204     public void infile()
    205     {
    206         String s;
    207         number=0;
    208         int i=0;
    209         boolean d=false;
    210         try
    211         {
    212             Scanner input=new Scanner(System.in);
    213             System.out.println("请输入文件路径:");
    214             s=input.next();
    215             FileReader fr=new FileReader(s);
    216             Scanner r=new Scanner(fr);
    217             while(r.hasNext())
    218             {
    219                 stu[i]=new Student();
    220                 stu[i].set_stunumber(r.next());
    221                 stu[i].set_name(r.next());
    222                 stu[i].set_age(r.nextInt());
    223                 stu[i].set_sex(r.nextBoolean());
    224                 stu[i].set_score(r.nextDouble());
    225                 i++;
    226             }
    227             
    228             fr.close();
    229             r.close();
    230         }
    231         catch(IOException e)
    232         {
    233             System.out.println("读取错误!");
    234             e.printStackTrace();
    235             
    236         }
    237         number=i;
    238     }
    239     public void outfile()
    240     {
    241         String s;
    242         Scanner input=new Scanner(System.in);
    243         System.out.println("请输入文件路径:");
    244         s=input.next();
    245         File f=new File(s);
    246         try
    247         {
    248             FileWriter fw=new FileWriter(f);
    249             PrintWriter pw=new PrintWriter(fw);
    250             
    251             for(int i=0;i<number;i++)
    252             {
    253                 pw.print(stu[i].get_stunumber()+" ");
    254                 pw.print(stu[i].get_name()+" ");
    255                 pw.print(stu[i].get_age()+" ");
    256                 pw.print(stu[i].get_sex()+" ");
    257                 pw.println(stu[i].get_score());
    258             }
    259             fw.flush();
    260             fw.close();
    261             pw.close();
    262         }
    263         catch(IOException e)
    264         {
    265             System.out.println("输出错误!");
    266             e.printStackTrace();
    267         }
    268     }
    269 }
     1 package Student;
     2 import java.util.Scanner;
     3 public class Main
     4 {
     5 
     6     public static void main(String[] args)
     7     {
     8         Scanner input=new Scanner(System.in);
     9         StudentManager m=new StudentManager();
    10         int select=1;
    11         for(;;)
    12         {
    13             face();
    14             do
    15             {
    16             select=input.nextInt();
    17             }while(select<1||select>7);
    18             switch(select)
    19             {
    20                 case 1:m.showStudent();break;
    21                 case 2:m.addStudent();break;
    22                 case 3:m.deleteStudent();break;
    23                 case 4:m.updateStudent();break;
    24                 case 5:m.selectStudent();break;
    25                 case 6:m.infile();break;
    26                 case 7:m.outfile();break;
    27             }
    28         }
    29     }
    30     private static void face()
    31     {
    32         System.out.println("***************************************************");
    33         System.out.println("    石家庄铁道大学信息科学与技术学院");
    34         System.out.println("        学生信息管理系统");
    35         System.out.println("***************************************************");
    36         System.out.println("        1.遍历输出学生信息");
    37         System.out.println("        2.新学生信息录入");
    38         System.out.println("        3.删除学生信息");
    39         System.out.println("        4.修改学生信息");
    40         System.out.println("        5.查询学生信息");
    41         System.out.println("        6.导入文件");
    42         System.out.println("        7.导出文件");
    43         System.out.println("***************************************************");
    44     }
    45 }
  • 相关阅读:
    收款 借贷
    Oracle Contracts Core Tables
    mtl_material_transactions.logical_transaction
    OM订单登记不了的处理办法
    子库存转移和物料搬运单区别
    WPF中使用DataGridView创建报表控件
    vi编辑器命令
    成绩管理系统中的成绩报表SQL
    ASP.Net中传递参数的常见方法
    MySQL的SET字段类型
  • 原文地址:https://www.cnblogs.com/CCRNRT/p/9694588.html
Copyright © 2011-2022 走看看