2016-06-19 2 views
-1

Мне нужна помощь с кодом Java. По какой-то причине он пропускает System.out.println("Username does not exist");. Я почти уверен, что я перепутал с {}. Помощь была бы оценена.Java пропускает строку System.out.println();

Обновлено:

import java.util.Scanner; 

class Bot { 
public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    System.out.println("Do you want to start the bot?"); 
    String startup = input.next(); 
    if (startup.equalsIgnoreCase("yes") || startup.equalsIgnoreCase("y")) { 
     System.out.println("Okay, starting..."); 
     System.out.println("Please type your username"); 
     String user = input.next(); 
     if (user.equalsIgnoreCase("admin")) { 
      System.out.println("Valid username. Please type your password."); 
      String pass = input.next(); 
      if (pass.equalsIgnoreCase("admin") || pass.equalsIgnoreCase("root")) { 
       System.out.println("Logging in..."); 
      } else if (!(pass.equalsIgnoreCase("admin") || pass.equalsIgnoreCase("root"))) { 
       System.out.println("Wrong password."); 
      } else { 
       System.out.println("Username does not exist"); 
      } 
      ; 
     } 
    } else if (startup.equalsIgnoreCase("no") || startup.equalsIgnoreCase("n")) { 
     System.out.println("Okay, shutting down..."); 
    } else { 
     System.out.println("Please answer with 'yes', 'y', 'no' or 'n', not '" + startup + "'."); 
    } 
} 
}; 

Оригинал:

class Bot { 
    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     System.out.println("Do you want to start the bot?"); 
     String startup = input.next(); 
     if (startup.equalsIgnoreCase("yes") || startup.equalsIgnoreCase("y")) { 
      System.out.println("Okay, starting..."); 
      System.out.println("Please type your username"); 
      String user = input.next(); 
      if (user.equalsIgnoreCase("admin")) { 
       System.out.println("Valid username. Please type your password."); 
       String pass = input.next(); 
       if (pass.equalsIgnoreCase("admin") || pass.equalsIgnoreCase("root")) { 
        System.out.println("Logging in..."); 
       } else if (!(pass == "admin")) { 
        System.out.println("Wrong password."); 
       } else if (!(user == "admin")) { 
        System.out.println("Username does not exist"); 
       } 
       ; 
      } 
     } else if (startup.equalsIgnoreCase("no") || startup.equalsIgnoreCase("n")) { 
      System.out.println("Okay, shutting down..."); 
     } else { 
      System.out.println("Please answer with 'yes', 'y', 'no' or 'n', not '" + startup + "'."); 
     } 
    } 
    }; 

ответ

0
} else if(!(user=="admin")) 

Вы не можете сравнивать строки с ==; вы должны сделать это так же, как вы сделали это дальше: if(!user.equalsIgnoreCase("admin")) {.

В этом случае простой } else { будет работать.

+0

Он по-прежнему не работает. @Androidas – Vena

Смежные вопросы