如何让这个程序终止

时间:2013-12-30 07:34:55

标签: java loops if-statement for-loop while-loop

下面是我编写的一个简单程序,它会要求输入密码。如果我输入了错误的密码,系统会提示“密码不正确,您想再试一次吗?”,如果我说不,或者其他任何不以'y'开头的东西,它将终止该程序。问题是,如果我输入正确的密码“Noah”,则表示“密码正确”,然后再次循环回“输入密码”。输入正确的密码后,如何终止此程序?谢谢。

import java.util.Scanner;
public class methods
{
   public static void main (String [] args)
   {
      Scanner sc = new Scanner(System.in);
      String response = "yes";
      System.out.println("Enter password:");
      while(response.charAt(0)=='y')
      {
         String input = sc.nextLine();
         if(input.equalsIgnoreCase("Noah")==true)
         {
            System.out.println("Password correct");
         }
         else if(input.equalsIgnoreCase("Noah")==false)
         {
            System.out.println("Password incorrect, would you like to try again?");
            response = sc.nextLine();
         }
      }
   }
}

5 个答案:

答案 0 :(得分:2)

使用break;然后你可以终止。

if("Noah".equalsIgnoreCase(input)){
    System.out.println("Password correct");
    break;
}

答案 1 :(得分:2)

  while(response.charAt(0)=='y')
      {  System.out.println("Enter password")
         String input = sc.nextLine();
         if(input.equalsIgnoreCase("Noah")==true)
         {
            System.out.println("Password correct");
            break;
         }
         else if(input.equalsIgnoreCase("Noah")==false)
         {
            System.out.println("Password incorrect, would you like to try again?");
            response = sc.nextLine();
         }
      }

答案 2 :(得分:2)

有几种方法。越来越严重:

1)使用break语句。这将使程序控制流程在while循环结束之后。

2)使用return语句。这将退出该功能,并在您的特定情况下,将结束该程序。

3)插入System.exit(n),其中n是一个数字,可能是非零,表示返回状态。这将终止Java虚拟机,并将值n返回给操作系统。

在你的情况下,我倾向于选择(1)或(2)。

答案 3 :(得分:1)

if(input.equalsIgnoreCase("Noah")==true) { System.out.println("Password correct"); break;
}

或者您可以添加response ="no";

if(input.equalsIgnoreCase("Noah")==true) { System.out.println("Password correct"); response ="no";
}

“no”或任何不以'y'字符开头的东西。

答案 4 :(得分:0)

经过几次修改后,我想这就是你要找的东西:

import java.util.Scanner;

公共类方法{

public static void main (String [] args){

    Scanner sc = new Scanner(System.in);
    String response = "yes";

    while(response.charAt(0)=='y'){
         System.out.println("Enter password:");
        String input = sc.nextLine();
        if(input.equalsIgnoreCase("Noah")==true){
            System.out.println("Password correct");
            break;
        }
        else if(input.equalsIgnoreCase("Noah")==false){
            System.out.println("Password incorrect, would you like to try again?");
            response = sc.nextLine();
        }
    }
}

}