我创建了以下程序,我很少被困在这里。 这是代码:
class ProductNameQuan{
public static void main(String[] args)
{
String fileName = "stockhouse.txt";
StringTokenizer line;
String ProdName;
String quantity;
try {
BufferedReader in = new BufferedReader(new FileReader(fileName));
line = in.readLine();
while (line != null) {
ProdName = line.nextToken();
quantity = line.nextToken();
System.out.println(line);
line = in.readLine();
}
in.close();
} catch (IOException iox)
{
System.out.println("Problem reading " + fileName);
}
}
}
我试图找到从文件读取前10个信息通过数组(不是arraylist)ProdName和数量的方法。“加上我在in.readLine()中堆叠;可能与之不兼容StringTokenizer的。 现在另一个问题是我需要数量是整数而不是字符串。
该文件包含以下内容: 球32 网球322 火球54 .. 。 。 。 。 有什么想法吗?
答案 0 :(得分:0)
我会把它放在一个辅助函数中,可能叫做parseString
class ProductNameQuan {
public static void main(String[] args)
{
...
try {
BufferedReader in = ...
line = in.readLine();
while (line != null) {
ProductNameQuan.parseString(line);
}
}
...
}
public static void parseString(String someString)
{
StringTokenizer st = new StringTokenizer(someString);
while (st.hasMoreTokens()) {
String token = line.nextToken();
try {
int quantity = Integer.parseInt(token)
// process number
} catch(NumberFormatException ex) {
// process string token
}
}
}