我试图弄清楚如何在for循环中累积用户输入,然后用一个system.out.print打印出来。这是我的问题测试代码。 因此,例如,如果用户键入:Mike为他的名字,而Joe,Jack,Dave为其他名称,如何打印它们都只有一个变量,因为变量的数量是不知道的,因为用户有这个决定。如果没有stringbuilder并且没有数组,也可以这样做吗?
import java.util.Scanner;
public class Accumulate {
public static void main(String[] args) {
String othernames = " ",name;
int count,n;
Scanner kybrd = new Scanner(System.in);
System.out.println("Enter your name ");
name = kybrd.nextLine();
System.out.println("How many other names would you like to add ? ");
count = kybrd.nextInt();
kybrd.nextLine();
for(n=0;n<count;++n){
System.out.println("Enter other names ");
othernames = kybrd.nextLine();
}
System.out.println("Other names are "+othernames + " And your name is "+ name);
}
}
答案 0 :(得分:1)
您可以递归调用它,例如:
Scanner sc = new Scanner(System.in);
String s;
while(condition) {
s = s + sc.nextLine();
}
这将始终连接您输入的行,您还可以添加逗号,空格或任何您想要添加的内容。
答案 1 :(得分:0)
关于使用除StringBuilder
以外的对象的问题,您可以使用List<String>
并在最后一步为其构建字符串。
如果您需要更复杂的数据结构,可以使用Map<String, String>
。