-4

我该如何做到这一点,如果用户名不正确,它不会要求输入密码,而是立即说用户名不正确?

import java.util.Scanner;
public class SecurityPasscode
{
    public static void main(String[] args)
    {
        Scanner user_input = new Scanner(System. in );
        System.out.println("Enter Username");

        String username;
        username = user_input.next();

        if (username.equals("username"))
            System.out.println("Enter Password");

        String password;
        password = user_input.next();

        if (password.equals("password"))
            System.out.println("Welcome back " + username + "!");

        if (!"password".equals(password))
            System.out.println("That password is incorrect.");
        else if (!"username".equals(username))
            System.out.println("That username is incorrect.");

    }
}
4

4 回答 4

3

{在你的第一个之后添加if......

请注意,这两个代码块并不相同:

if(something1)
  command1;
  command2;
  if(something2)
    command3;
else if(something3)

if(something1) {
  command1;
  command2;
  if(something2)
    command3;
}
else if(something3)

在第一个代码中,else对应于最后一个if。在第二个代码中,它对应于第一个 if. 此外,在第一个代码中,command2不在外部范围内,if因为 Java 并不真正关心缩进。

于 2013-11-09T15:07:24.370 回答
1
if (username.equals("username")){
    System.out.println("Enter Password");
}else{
    String password;
    password = user_input.next();
    if (password.equals("password")){
        System.out.println("Welcome back " + username + "!");
    }else{
        System.out.println("That password is incorrect.");
    }
}
于 2013-11-09T15:11:30.507 回答
0
if (condition)
{
    if (another condition)
    {
        // statements here
    }
}
于 2013-11-09T15:09:02.160 回答
0

是的...

if(eval)
    if(anotherEval)
       ....
          code

如果你喜欢的话,你可以有任意数量的嵌套:)

于 2013-11-09T15:33:54.233 回答