大宋传奇皇帝赵匡胤:JAVA的I/O问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 08:06:37
假设已经定义了
class Student implements Serializable{
String name;
int[] record=new int[4];
int total;
float avg;
String grade;
}
比如用户输入"李华 56 78 90 87",用readLine()只能读一行数据,如何将数据”李华”付给x.name,将56,78,90,87分别付给x.record[i]?高手帮忙啊,谢谢拉!
如何除去,如何分成2个字符串?能写一下部分的代码吗?

需要用java.util.StringTokenizer类(默认以空格,换行符,制表符等分割字符串)
Student.java文件:

import java.io.*;
import java.util.*;//导入包

public class Student{
public static void main(String args[]) throws java.io.IOException{
BufferedReader keyInC=new BufferedReader(new InputStreamReader(System.in));
String name;
int[] record=new int[4];
int total;
float avg;
String grade;

System.out.print("输入学生的数据:");
StringTokenizer studentData=new StringTokenizer(keyInC.readLine());//StringTokenizer类以空格,换行符等分割字符串
name=studentData.nextToken();
for(int i=0;studentData.hasMoreTokens();i++){
record[i]=Integer.parseInt(studentData.nextToken());
}
System.out.print(name+" ");
for(int i=0;i<record.length;i++){
System.out.print(record[i]+" ");
}
}
}

你在仔细研究研究这段代码!!

我也对JAVA输入不太懂,高手来帮我们啊!

对readLine()读入的字符串分析,遇到空格就除去,分成2个字符串,分开后就好办了,Integer.parseInt(str[i]);

你可以建立一个集合类,使数组的元素也是数组,这样单个的数组元素就可以用来储存一组数据了!你可以参照一下C#里的ArrayList!可以Java里没定义这个接口,你得自己写!