2017-10-10 7 views
0
public class ex1 { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    System.out.println("Please enter a series of strings each followed by the enter key. When you'd like to end thr program simply type 'quit': \n"); 
    Scanner scan = new Scanner(System.in); 

    ArrayList<String> inputList = new ArrayList<String>(); // creates a list to store user input 

    String input = scan.nextLine(); //takes the scanner input 
    while(input != "quit") { //makes sure its not equal to quit 
     //System.out.println(input); 
     inputList.add(input); 
     input = scan.nextLine(); 
    } 
    scan.close();  
    System.out.println("The number of strings enetered was: " + inputList.size()); 
    System.out.println("The strings you entered were as follows"); 
    for (String i: inputList) { 
     System.out.println(i); 

    } 

} }スキャナでループは決して条件

私はキー入力使用してユーザからの入力のシリーズを取るために上記のコードを使用しようとしていると、彼らはやめ入力した場合、私は終わりに満足しませんがプログラム。しかし、条件が満たさことはありませんし、whileループは決して終わらないと上記のようにあなたは文字列を比較するequalsメソッドを使うべき理由

答えて

0
while(!input.equals("quit")) { //makes sure its not equal to quit 
     //System.out.println(input); 
     inputList.add(input); 
     input = scan.nextLine(); 
    } 

私が理解することはできません。 Javaではequalsメソッドを使用して、2つの文字列の内容を比較します。 ==および!=演算子はオブジェクトの等価性の比較に使用されます。

0

a == b戻る真の場合にかぎりようが含まれている場合は、文字列クラスは、それを実装するように

equals方法は、使用されるべきであるB と同じオブジェクトへポイントbと同じ文字であればtrueを返します。

while (!input.equals("quit")) { ... }