我有一个文件,其中包含用空格分隔的数字,我可以使用扫描仪在文件中读取,并且它显示就像文件显示的那样。如何逐个垂直打印数字?
try(Scanner reader = new Scanner(file)){
while(reader.hasNextLine()){
String line = reader.nextLine();
System.out.println(line);
}
答案 0 :(得分:1)
您可以对字符串使用split()
操作:
How to split a string in Java
String s = 1 2 3 4;
String[] result = s.split(" "); // this will split on space
之后您只需使用for
循环遍历数组并打印每个值:
for(String str : result) {
System.out.println(str);
}
Tipp:您甚至可以限制数组的大小:string.split(" ", maxArraySize);
会为您提供String[]
长度maxArraySize
或更短。{/ p>
答案 1 :(得分:1)
您需要将结果字符串从reader.nextLine()
拆分为数组。
try(Scanner reader = new Scanner(file)){
while(reader.hasNextLine()){
String line = reader.nextLine();
//split line into an array, delimited by spaces
String[] lines = line.split(" ");
//loop through the resulting array
for (int i = 0 ; i < lines.length; i++){
//print each number on a single line
System.out.println(lines[i]);
}
}
答案 2 :(得分:1)
用空格将行拆分为__call__()
,然后遍历数组,在新行上打印每个项目。
String[]
答案 3 :(得分:1)
您需要将String
拆分为分隔符" "
,然后简单地遍历这些元素。
String line = reader.nextLine();
Arrays.stream(line.split(" ")).forEach(System.out::println);