使用循环在列表中存储字符串,然后打印列表

时间:2016-02-20 03:04:40

标签: java arrays loops for-loop

我的目标是让用户在循环中输入一串字符串,当他们进入“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);

有一个问题,因为它总是最终打印出最后一个字,而不是其他任何东西。任何帮助将不胜感激。

1 个答案:

答案 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));