程序首先取一个用户输入的数字,即用户想要键入的行数。
但我想打印用户输入的每一行,但它不起作用 它只打印最后一行!
这是代码
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
您好
世界
输出
世界
答案 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);
}
}