• 输入输出



    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Scanner;
    import java.util.StringTokenizer;

    class Student{
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;

    public void setstunumber(String a)
    {stunumber=a;}
    public void setname(String b)
    {name=b;}
    public void setsex(boolean c)
    {sex=c;}
    public void setage(int d)
    {age=d;}
    public void setscore(double e)
    {score=e;}

    String getstunumber()
    {return stunumber;}
    String getname()
    {return name;}
    boolean getsex()
    {return sex;}
    int getage()
    {return age;}
    double getscore()
    {return score;}
    public Student(){}
    public String toString()
    {
    return getClass().getName()
    + "[stunumber=" + stunumber
    + ",name=" + name
    + ",sex=" + sex
    + ",age=" + age+
    ",score=" + score+"]";
    }
    Student(String a,String b,boolean c,int d,double e){
    this.stunumber=a;
    this.name=b;
    this.sex=c;
    this.age=d;
    this.score=e;
    }
    public void writeData(PrintWriter out) throws IOException
    {

    out.println( stunumber+ "|"
    + name+ "|"
    + sex + "|"
    + age + "|"
    + score);
    }

    public void readData(BufferedReader in) throws IOException
    {
    String s = in.readLine();
    StringTokenizer t = new StringTokenizer(s, "|");
    stunumber = t.nextToken();
    name = t.nextToken();
    sex = Boolean.parseBoolean(t.nextToken());
    age = Integer.parseInt(t.nextToken());
    score = Double.parseDouble(t.nextToken());
    }

    }
    class TestS {
    static boolean flag;
    static int y=0;
    static Student[] students=new Student[100];
    public static void main(String args[]) {
    students[0]=new Student("20150001","李明",true,18,45);
    students[1]=new Student("20150002","王洪",false,19,90);
    students[2]=new Student("20150003","张东",true,20,58);
    students[3]=new Student("20150004","李小",true,20,80);
    students[4]=new Student("20150005","王玲",false,20,40);
    y=y+5;
    int type=1;
    Scanner in=new Scanner(System.in);
    while(type!=0){
    System.out.println("***************************************************************");
    System.out.println(" 石家庄铁道大学软件工程系学生信息管理系统 ");
    System.out.println("****************************************************************");
    System.out.println("1、遍历输出学生信息");
    System.out.println("2、新学生信息录入");
    System.out.println("3、删除学生信息");
    System.out.println("4、修改学生信息");
    System.out.println("5、查询学生资料");
    System.out.println("6、学生信息统计");
    type=in.nextInt();
    switch(type){
    case 1: showStudent();break;
    case 2: addStudent(); break;
    case 3: deleteStudent(); break;
    case 4: updateStudent(); break;
    case 5: selectStudent();break;
    case 6: tongji();break;
    }
    }


    }

    private static void tongji() {
    int a=0;int b=0;
    for(a=0;a<y;a++){
    if(students[a].score<60)
    {
    System.out.println(students[a].name+"不及格,"+"分数为"+students[a].score);
    b++;
    }
    }
    System.out.println("不及格人数为:"+b);
    }


    public static void showStudent()
    {
    ouput();
    }
    private static void ouput() {
    try
    {
    PrintWriter out = new PrintWriter(new FileWriter("StuInfoTable.txt"));
    int a=0;
    for(int i=0;i<100;i++)
    {
    if(students[i]!=null)
    a++;
    }
    Student s[]=new Student[a];
    for(int i=0;i<a;i++)
    {
    s[i]=students[i];
    }
    writeData(s, out);
    out.close();

    BufferedReader in = new BufferedReader(new FileReader("StuInfoTable.txt"));
    Student[] std = readData(in);
    in.close();

    for (Student e : std)
    System.out.println(e);
    }
    catch(IOException e)
    {
    e.printStackTrace();
    }

    }


    public static void addStudent()
    {
    Scanner st=new Scanner(System.in);
    System.out.print("请按照学号,姓名,性别(true为男,false为女),年龄,成绩的顺序添加输入");
    String a=st.next();
    String b=st.next();
    st.nextLine();
    boolean c=Boolean.valueOf(st.nextLine()).booleanValue();
    int d=st.nextInt();
    st.nextLine();
    double e=st.nextDouble();
    students[y]=new Student(a, b, c, d, e);
    y++;
    ouput();
    }
    public static void deleteStudent()
    {
    int i=0;
    Scanner st=new Scanner(System.in);
    System.out.print("请选择1输入学号2输入姓名");
    int b = st.nextInt();
    if(b==1){
    System.out.print("请输入学号");
    String a=st.next();
    for(i=0;i<y;i++)
    {
    if(students[i].getstunumber().equals(a))
    {
    students[i]=null;
    for(int j=i;j<y;j++)
    {
    students[j]=students[j+1];
    }
    y--;
    }
    }
    ouput();
    }
    else{
    System.out.print("请输入姓名");
    String a=st.next();
    for(i=0;i<y;i++)
    {
    if(students[i].getname().equals(a))
    {
    students[i]=null;
    for(int j=i;j<y;j++)
    {
    students[j]=students[j+1];
    }
    y--;
    }
    }
    ouput();
    }
    }



    public static void updateStudent()
    {
    int i=0,h=0;
    Scanner st=new Scanner(System.in);
    System.out.print("请输入学号");
    String a1=st.next();

    for(i=0;i<y;i++)
    {


    if(students[i].getstunumber().equals(a1))
    {System.out.print("请输入修改信息(按照学号,姓名,性别(true为男,false为女),年龄,成绩的顺序输入)");
    String a=st.next();
    String b=st.next();
    boolean c=st.nextBoolean();;
    int d=st.nextInt();
    double e=st.nextDouble();
    students[i]=new Student(a, b, c, d, e);

    }

    }
    ouput();
    }
    public static void selectStudent()
    {
    int i,h=0;
    Scanner st=new Scanner(System.in);
    System.out.print("请输入学号");
    String a=st.next();
    for(i=0;i<y;i++)
    {
    if(students[i].getstunumber().equals(a))
    {h=i;
    flag=true;
    }
    }
    if(flag==true)
    {
    System.out.print("查找匹配成功 ");
    if(students[h].sex==true)
    System.out.print("学号为"+students[h].getstunumber()+"的学生,名为"+
    students[h].getname()+"性别 男"+students[h].getage()+"岁,得分"+students[h].getscore()+" ");
    else
    System.out.print("学号为"+students[h].getstunumber()+"的学生,名为"+
    students[h].getname()+"性别 女"+students[h].getage()+"岁,得分"+students[h].getscore()+" ");
    }
    else
    {
    System.out.print("该学生信息不存在! ");
    }
    ouput();
    }


    public static void writeData(Student[] students, PrintWriter out)
    throws IOException
    {
    out.println(students.length);

    for (Student e : students)
    e.writeData(out);
    }

    public static Student[] readData(BufferedReader in)
    throws IOException
    {
    int n = Integer.parseInt(in.readLine());

    Student[] students = new Student[n];
    for (int i = 0; i < n; i++)
    {
    students[i] = new Student();
    students[i].readData(in);
    }
    return students;
    }
    }

  • 相关阅读:
    落花美眷,终究抵不过逝水流年,回忆我的2016,展望2017。
    如何对于几百行SQL语句进行优化?
    基于.NET Socket API 通信的综合应用
    数据库备份定期删除程序的开发。
    如何开发应用程序将客户服务器数据库的备份,下载到本地的云服务上?
    从大公司做.NET 开发跳槽后来到小公司的做.NET移动端微信开发的个人感慨
    asp.net mvc entity framework 数据库 练习(一)
    ASP.NET CORE小试牛刀:干货(完整源码)
    [开源].NET数据库访问框架Chloe.ORM
    SqlBulkCopy简单封装,让批量插入更方便
  • 原文地址:https://www.cnblogs.com/muxiaozhou/p/6198099.html
Copyright © 2020-2023  润新知