2014-01-14 2 views
0

Здравствуйте, я новичок в Java и немного прочитав об этом, я попытался сделать небольшую программу. Программа содержит два стека, и я хочу, чтобы один из них разрешил программу завершить, а не читать вторую. Вот код, который я придумал:Если первое верно, не запускайте второй

Сканер myScanner = новый сканер (System.in);

 String independent1 = "money"; 
    String independent2 = "succes"; 
    String independent3 = "career"; 
    String userInput; 
    int randomNumber; 
    System.out.println("I'm listening mortal. Pick your topic."); 

    userInput = myScanner.next(); 



      if(independent1.equals(userInput)) 
      System.out.println("You should rely on yourself more than     on mystic forces like me"); 
      if(independent2.equals(userInput)) 
       System.out.println("You should rely on yourself more than on mystic forces like me"); 
      if(independent3.equals(userInput)) 
       System.out.println("You should rely on yourself more than on mystic forces like me"); 

      Random myRandom = new Random(); 
      randomNumber =myRandom.nextInt(100)+1;  
        if (randomNumber >= 50){ 
      System.out.println(randomNumber); 
      System.out.println("Yes"); 
     } else { 
      System.out.println(randomNumber); 
      System.out.println("No!"); 

Я хочу, если «независимой, если» истинно программа до конца и не запускать второй, кто-то может мне помочь?

+2

Посмотрите на [если-то-иначе заявления] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html) – gtgaxiola

+0

как о «другой, если() «вместо многих« если »? if (independent1.equals (userInput)) System.out.println ("bla"); else if (independent2.equals (userInput)) System.out.println ("foo"); – Sadik

ответ

3

Используйте if/else if

if(independent1.equals(userInput)){ 
.... 
} else if(independent2.equals(userInput)){ 
.... 
} else if(independent3.equals(userInput)){ 
... 
} 

если вы используете java 1.7 вы также можете использовать операторы переключения со строками. Они были введены с JSR 334.

switch(userInput){ 
    case "money": 
     .... 
     break; 
    case "succes": 
     .... 
     break; 
    case "career": 
     .... 
     break; 
} 
+0

Пойдите дальше с 'switch' – nachokk

+0

@nachokk if/else более гибкий, и оба они полезны. Ваш комментарий не является продуктивным. – SpacePrez

+0

@ Zaphod42, в котором путь более «гибкий»? я думаю, это было потому, что он редактировал .. + 1 для редактирования – nachokk

0

Вы также можете использовать переключатель случай:

switch(expression){ 
    case value : 
     //Statements 
     break; //optional 
    case value : 
     //Statements 
     break; //optional 
    //You can have any number of case statements. 
    default : //Optional 
     //Statements 
} 
0

попробовать как следующий

boolean b = false; 
     if(independent1.equals(userInput)){ 
     System.out.println("You should rely on yourself more than     on mystic forces like me"); 
b = true; 
    } else if(independent2.equals(userInput)) { 
      System.out.println("You should rely on yourself more than on mystic forces like me"); 
b = true; 
     }else if(independent3.equals(userInput)){ 
b = true; 
      System.out.println("You should rely on yourself more than on mystic forces like me"); 
} 



if(!b){ 
    Random myRandom = new Random(); 
    randomNumber =myRandom.nextInt(100)+1;  
      if (randomNumber >= 50){ 
    System.out.println(randomNumber); 
    System.out.println("Yes"); 
} else { 
    System.out.println(randomNumber); 
    System.out.println("No!"); 
    } 
0

Я не уверен, но следующий может быть подходящим.

userInput = myScanner.nextLine(); // Entire line maybe? 

if (userInput.contains(independent1)) { 
    ... 
} else if (userInput.contains(independent2)) { 
    ... 
} else if (userInput.contains(independent3)) { 
    ... 
} else { 
    // Maybe you meant the rest to go in here, as alternative. 
    Random ... 
} 
Смежные вопросы