你可能想做这样的事情(如果你在java 5及以上)
Scanner scanner = new Scanner(new File("tall.txt")); int [] tall = new int [100]; int i = 0; while(scanner.hasNextInt()){ tall[i++] = scanner.nextInt(); }
@Vanuan:`java.util.ArrayList` (6认同)
如果您不知道有多少整数怎么办? (5认同)
erickson.. 9
您的文件中必须有一个空行.
您可能希望将parseInt调用包装在"try"块中:
try { tall[i++] = Integer.parseInt(s); } catch (NumberFormatException ex) { continue; }
或者只是在解析之前检查空字符串:
if (s.length() == 0) continue;
请注意,通过i
在循环内初始化索引变量,它始终为0.您应该在while
循环之前移动声明.(或使其成为for
循环的一部分.)
你可能想做这样的事情(如果你在java 5及以上)
Scanner scanner = new Scanner(new File("tall.txt")); int [] tall = new int [100]; int i = 0; while(scanner.hasNextInt()){ tall[i++] = scanner.nextInt(); }
您的文件中必须有一个空行.
您可能希望将parseInt调用包装在"try"块中:
try { tall[i++] = Integer.parseInt(s); } catch (NumberFormatException ex) { continue; }
或者只是在解析之前检查空字符串:
if (s.length() == 0) continue;
请注意,通过i
在循环内初始化索引变量,它始终为0.您应该在while
循环之前移动声明.(或使其成为for
循环的一部分.)