就是这个,在查询信息的部分,无法查找信息,然后询问是否继续查询的时候,也有很大问题,大家帮我看看吧,谢谢import java.util.*;
import java.io.*;
class Student{
String id;   //学号
String name;     //姓名
String score[] = new String[4];   //四科成绩
float average;   //平均分
float total;  //总分
String subject[] = {"政治","数学","英语","专业课"};    //课程名
//int flag;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@我是分割线@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
public class StudentInfo{
static Student stu[] = new Student[5];
static int flag = 0;
public static void main(String args[]) throws Exception{
    do{
int num;
System.out.println("**************************************");
System.out.println("*                                    *");
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.print("请选择(0-4):");
InputStreamReader iin = new InputStreamReader(System.in);
BufferedReader bin = new BufferedReader(iin);
num = Integer.parseInt(bin.readLine());
System.out.println(num);
switch(num){
case 1: setInfo();break;
case 2: showInfo();break;
case 3: modifyInfo();break;
case 4: System.exit(0);
}
}
while(flag == 1);
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@我也是分割线@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ public static void setInfo() throws Exception{                     //输入信息
int N = 3;
int i;
InputStreamReader iin = new InputStreamReader(System.in);
BufferedReader bin = new BufferedReader(iin);
FileWriter fw = new FileWriter("D:\\Java\\data.txt",true);
BufferedWriter bw = new BufferedWriter(fw);

for(i = 0;i < N;i++){
stu[i] = new Student();
System.out.println("请输入ID:");
stu[i].id = bin.readLine();
bw.write(stu[i].id + " ");
System.out.println("请输入姓名:");
stu[i].name = bin.readLine();
bw.write(stu[i].name + " ");
System.out.println("请输入成绩:");
for(int j = 0;j < 4;j++){
bw.write(stu[i].subject[j]);
System.out.println("请输入" + stu[i].subject[j] + "成绩:");
stu[i].score[j] = bin.readLine();
bw.write(stu[i].score[j] + " ");
}
bw.newLine();
}
bw.flush();
bw.close();
flag = 1;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@我又来了@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

public static void showInfo() throws Exception{             //查找信息
int temp = 0;
int _temp = 0;
int i;
int line = 0;
String search;
String Line;
String stu[] = new String[100];
char _num;
BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
FileReader fr = new FileReader("D:\\Java\\data.txt");
BufferedReader br = new BufferedReader(fr);
while((Line = br.readLine())!= null){  
stu[line] = Line;   
    ++line;
}
do{
System.out.println("输入你要查找的姓名或学号:");
search = bin.readLine();
for(i = 0;i < line;i++){
if(stu[i].equals(search)){
   System.out.println(stu[i]);
   temp = 0;
   _temp = 1;
}
else if(_temp == 0){
System.out.println("无此信息!");
System.out.println("是否继续查询?(输入Y或N)");
//_num = bin.readLine();
_num = (char)System.in.read();
if(_num == 'Y'||_num == 'y'){temp = 1;}
else{temp = 0;}
}
  }
}while(temp == 1);
flag = 1;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@囧囧囧@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

public static void modifyInfo() throws Exception{          //修改信息

}}