2015-08-28 4 views
-2

Я хочу создать программу, которая копирует строки в вектор до тех пор, пока строка hold не будет установлена ​​на определенное значение, после чего программа должна распечатать элементов массива.Java if (string == "0") check не работает

Я не уверен, как работает функция in.nextline(), так что это может быть, что я не стирая предыдущие записи из hold, или это, что мой if(hold=="0") чек просто не действует Java?

import java.util.*; 
import java.util.Scanner; 
public class startingPoint 
{ 
    public static void main(String roark[]) 
    { 
     String hold; 
     boolean finished=false; 
     Scanner in = new Scanner(System.in); 
     Vector<String> vec = new Vector<String>(); 
     while(finished==false){ 
     System.out.print("Enter the string you'd like to save, or enter 0 to print out saved strings\n"); 
     hold=in.nextLine(); 
     if(hold=="0"){ 
      for(int looper=0;looper<vec.size();looper++){ 
       System.out.print(vec.get(looper)); 
       System.out.print("\n"); 
      } 
      finished=true; 
     }else{ 
      vec.add(hold); 
     } 
    } 

} 

}

+2

Это должны быть наиболее часто задаваемые вопросы о С.О. пожалуйста, удалите его! – John3136

+0

@ John3136 Мое понимание заключается в том, что оставляя осколки увеличивает шанс найти различную формулировку того же старого вопроса –

+0

Will, John 3136 – Roark

ответ

1

Вы должны использовать метод равен:

if("0".equals(hold){ 
+1

Спасибо. Я не мог найти поисковый запрос, который хотел. – Roark