我的目标是让用户在循环中输入一串字符串,当他们进入“stop”时,循环会打破并在每个单词的末尾用逗号打印所有这些字符串。例如,如果用户输入“first”,“second”,“third”和“4th”,则程序将打印以下内容:
第一,第二,第三,第四
public static void main(String[] args)
{
Scanner kb = new Scanner(System.in);
int i;
String s;
String[] listOfStrings = new String[1000];
String last = "";
System.out.println("Please enter some Strings: ");
for (i = 1; i>0; i++) {
listOfStrings[i] = kb.next();
last = listOfStrings[i] + ",";
if (listOfStrings[i].equalsIgnoreCase("stop")) {
break;
}
}
System.out.print(last);
有一个问题,因为它总是最终打印出最后一个字,而不是其他任何东西。任何帮助将不胜感激。
答案 0 :(得分:2)
我会使用ArrayList
:
Scanner sc = new Scanner(System.in);
List<String> list = new ArrayList<String>();
while (sc.hasNext()) {
String s = sc.next();
if (s.equalsIgnoreCase("stop")) {
break;
} else {
list.add(s);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i) + ",");
}
如果你想要一行中的所有内容,你可以这样做:
Scanner sc = new Scanner(System.in);
String line = "";
while (sc.hasNext()) {
String s = sc.next();
if (s.equalsIgnoreCase("stop")) {
break;
} else {
line += s + ", ";
}
}
System.out.println(line.substring(0, line.length()-2));