JAVA 文件结束多行输入

JAVA End Of File multiple lines input

当我 运行 这个程序的代码时,我得到:

 import java.util.Scanner;

 public class Capital {
     public static void main(String []args) {

        Scanner kbd  = new Scanner(System.in);

        while (kbd.hasNextLine()) {
        String str = kbd.nextLine();

        System.out.println(str.toUpperCase());

        }
     }
 }

每个输入的输出,例如

input: abc
output:ABC
input: xyz
output:XYZ

如何设置程序以允许在声明文件结束之前输入多行?喜欢:

input: abc
       xyz
       aaa 
       ...etc

output: ABC
        XYZ
        AAA
        ...etc

我感觉我知道了会很尴尬!

感谢任何帮助,谢谢。

你只想在最后输出,所以我建议将输入存储在某个地方,例如一个列表,并且只在到达输入末尾时才将它们打印出来。

Scanner kbd  = new Scanner(System.in);

List<String> input = new ArrayList<>();
while (kbd.hasNextLine())
    input.add(kbd.nextLine());

// after all the input, output the results.
for (String str : input)
    System.out.println(str.toUpperCase());
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class EndOfFile {
public static void main(String[] args) throws IOException {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    int n = 1;
    String line;
    while ((line=br.readLine())!=null) {
        System.out.println(n + " " + line);
        n++;
    }

   }
}