1,键盘输入时,如何把各种类型分开,赋值给相应变量,例:想输入姓名(string),学号(string),java分数(int),本人用想用System.in.read();但输入 “张三 10086 95”不知如何判断把张三赋值给name,把10086赋值给xuehao,就是说不知道如何判断分隔符;
2,利用输出流把姓名(string),学号(string),java分数(int)信息输入进txt文档时,如何把一条条数据隔开,然后读入时如何做到;
  题目:现在想利用输入流输出五个人的信息(string),学号(string),java分数(int)到student.txt中,五个人的信息是从键盘输入,然后利用输入流从student.txt中读取这些数据,想读第几学生的什么信息就能读什么信息;
  能看懂问题解决下问题,我感觉说的比较不容易理解,所以把题目贴出来,要是看不懂我问题,直接给出解题代码,我从中自己理解,下面是我的代码:
代码没写完,写到从键盘读入时,遇到问题1,写不下去,然后想象用构造方法已经得到数据,然后写出到文档中,又遇到问题2,看不懂问题可以看代码中的注释,本人阐述问题有缺陷,大家见谅  public class Student{
  private String name,xuehao;
  private int javascore;
  public void setname(String a)
  {
    this.name=a;
    }
    public String getName() {
return name;
}
    ...//省略为变量的set,get方法   
 pulbic class void main(String args[])
  {
   char a;
   double average,sum=0;
   int i;
   file f=new file("student.txt");
   fileInputstream fis1=new fileInputstream(f);
   DateInputstream dis1=new DateInputstream(fis1);
   for(i=0;i<5;i++)
    { 
     Student stu[i]=new Student();
     inread();
     stu[i].setname();
     sum=sum+stu[i];
     dis1.writeString(stu[i].name); //往student.txt写数据时不知道如何设置分隔符,然后读时能区分分隔符
      }
   average=sum/5.0;   void inread()
    {
      System.out.println("请输入学生姓名,学号,分数,中间用逗号隔开,输完请按!结束");
      a=(char)System.in.read();
      while(a!='!')
 //从键盘读数据试也不知道如何区分分隔符,就是不知道咋样判断name数据已经完了,接下来的是xuehao数据;
        {
          
          }
      }
       }}
  

解决方案 »

  1.   

    键盘输入的都是字符串,自己subString(),然后转换
    从控制台输入到文件 最好用下面这种方式                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new FileWriter("c:/sysin.txt"));
    String str ;
     while (null != (str = br.readLine())) {
    if (!"exit".equals(str)) {
                                   //.............处理...........
    bw.write(str,0,str.length());
           
    } else {
    System.out.println("Exit Success!");
    break;
    }
    }
    br.close();
    bw.close();