请问各位:system.in在做的过程中是怎么读的呢?读完后的返回类型为什么是INT呢?我有这样一个程序应该怎么利用system.in来编呢?题是这样的:要求输入5个学生的成绩,将其保存在一个文本文件中。请各位帮帮我谢谢

解决方案 »

  1.   

    假设输入为学生ID,英语,数学
    void xxx throws IOException(){
    BufferedReader br=new BufferedReader(new InputStreamReader(ssytem.in));
    BufferedWriter bw=new BufferedWriter(new FileWriter(new File("abc.dat"));
    while ((strIn=br.readLine())!=null){
        String[] a_astrIn=strIn.split(",");
        int intId=Integer.parseInt(a_strIn[0]);
        int intEnglish=....
        int intMath=...
        bw.write("StudentId="+intId + ":English " + intEnglish... + "\n");
    }
    bw.close();
    }
      

  2.   

    System.in返回的是一个InputStream类型,这个类是一个抽象类,其中基本的read() 方法返回的是int类型。
      

  3.   

    谢谢啊,可是1楼的前辈啊,strIn这个变量没有事先定义啊,还有啊,不知大家能给我解释一下“System.in返回的是一个InputStream类型,这个类是一个抽象类,其中基本的read() 方法返回的是int类型。”这个INT 型代表什么意思吗?它得到的是什么?是长度吗?那又是什么长度呢?
    最后,我还有一个问题:就是平时在用SYSTEM。IN在输入的时候,数字与数字之间有什么间隔吗?谢谢大家
      

  4.   

    使用java6的Console和Scanner
    Console console = System.console();
    PrintWriter writer = new PrintWriter(new FileWriter(new File("grade.txt")));
    if(console!=null){
    Scanner scanner = new Scanner(console.reader());
    for(int i = 1;i <=5;i++){
    System.out.print("姓名:");
    String name = scanner.next();
    System.out.print("成绩:");
    int grade = scanner.nextInt();
    writer.println(String.format("%s:%d",name,grade));
    }
    scanner.close();
    }
    writer.close();