2016-02-20 56 views
0

我的目标是要求用户在循环中输入一串字符串,当它们输入“stop”时,循环会打破并使用逗号打印所有这些字符串在每个单词的结尾。例如,如果用户输入“第一”,“第二”,“第三”和“第四”,则程序将打印以下:在带有循环的列表中存储字符串,然后打印列表

第一,第二,第三,第四

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

根据你的代码要打印的最后一个。您将需要在listOfStrings中打印每个字符串。 – stjepano

回答

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)); 
+0

我正在使用NetBeans 8.1并出于某种原因“列表 list = new ArrayList ();”不起作用。 –

+0

您需要将它们导入到项目中,如果我没有记错,netbeans会显示红色惊叹号,您可以将鼠标悬停在其上,然后单击自动解决 – stjepano

+0

您需要导入它:'import java.util中。*;' –