输入输出


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;
}
}

原文地址:https://www.cnblogs.com/muxiaozhou/p/6198099.html