如何打印用户键入的所有行

时间:2017-02-03 23:47:56

标签: java

程序首先取一个用户输入的数字,即用户想要键入的行数。

但我想打印用户输入的每一行,但它不起作用 它只打印最后一行!

这是代码

Scanner in=new Scanner(System.in);
    int x=in.nextInt();
    String s="";

    if (x >=1 && x<= 10000)
    {

        for(int i=0;i<=x;i++)
        {
             s=in.nextLine();

        }

    }

    System.out.println(s);

实施例

这是输入

2

您好

世界

输出

世界

2 个答案:

答案 0 :(得分:0)

您没有将以前的字符串存储在任何地方。你只是处理它们。

为了存储它们,您可以使用数组。像这样:

Scanner in=new Scanner(System.in);
    int x=in.nextInt();
    String s = new String[x];

    if (x >=1 && x<= 10000)
    {

        for(int i=0;i<=x;i++)
        {
             s[i]=in.nextLine();

        }

    }

        for(int i=0;i<=x;i++)
        {
             System.out.println(s[i]);
        }

答案 1 :(得分:0)

由于你的字符串S的覆盖,每次内部for循环,即for(int i = 0; i&lt; = x; ++ i)运行时,字符串s的内部值被覆盖,以便& #39; s仅在循环退出时始终打印最后一个单词的原因。 为什么不试试这个:

import java.util.Scanner;
public class abc {
    public static void main(String[]args){
    Scanner in=new Scanner(System.in);
    System.out.print("How many line you want to input=\t");
    int x=in.nextInt();
    String s="";
        if (x >=1 && x<= 10000)
    {

        for(int i=0;i<=x;i++)
        {
            s=in.nextLine();
            System.out.print(s);

        }

    }