Java条件(如果子句设置)

时间:2012-11-18 20:53:54

标签: java

我想弄清楚的是当用户放置age < 18我希望程序停止时。与下面的“杰克”部分相同的想法如果用户名为杰克我也希望它也停止。

import java.util.Scanner;

class Newbie
{
  public static void main(String[] arg)
  {
    Scanner qk = new Scanner(System.in);
    int age;
    String ans;

    System.out.println("How old are you?");
    age = qk.nextInt();

    if(age < 18)
      System.out.println(age + " is too young!");           

    if(age > 18)
      System.out.println("You can enter. What is your name?");

    Scanner q = new Scanner(System.in);
    ans = q.nextLine();

    if(ans.equals("Jack"))
    System.out.println("Jack, you are not allowed to use this program.");
  }
}

6 个答案:

答案 0 :(得分:2)

您可以编写return;来终止当前方法的执行。

答案 1 :(得分:2)

只要您使用System.exit(0)就可以停止本程序, return;刚刚终止该方法。

答案 2 :(得分:1)

考虑使用boolean字段来跟踪用户是否有权使用该程序。

示例:

import java.util.Scanner;

class Newbie
{
    public static void main(String[] arg)
    {
      boolean authorized = true;
      Scanner qk = new Scanner(System.in);
      int Age;
      String ans;

      System.out.println("How old are you?");
      Age=qk.nextInt();
      in.nextLine(); // clear newline char from the buffer
      if(Age < 18) {
        System.out.println ( Age +" is too young! " ); 
        authorized = false;         
      }
      else { // else statement fixes logic error
        System.out.println ( " You can enter. What is your name ? " );
        ans=qk.nextLine();
        if (ans.equals("Jack")) {
          System.out.println ( "Jack, you are not allowed to use this program " );
          authorized = false;         
        }
      }
      if(authorized) {
        // Do program stuff here
      }
    }

}

答案 3 :(得分:0)

放一个“回归”; 在if之后(但在if花括号{}

之后放置你想要的东西

因为你在main函数里面,返回只会退出函数,然后退出程序

答案 4 :(得分:0)

如果您希望在用户输入"Jack"时停止,请执行以下操作:

if (ans.equals("Jack")) {
    System.out.println ( "Jack, you are not allowed to use this program " );
    System.exit();
}

答案 5 :(得分:0)

在这种情况下,return退出程序执行工作,因为您只有一个非常简单的main设置。如果您想独立于您所处的方法停止执行,请使用以下内容。

if(age < 18)
  System.exit(0);

在你的情况下,就像这样。

if(age < 18){
  System.out.println(age +" is too young!");
  System.exit(0);
}

除此之外,您的代码中存在逻辑错误。如果用户输入 18 ,会发生什么?他/她仍被允许进入,但没有告诉他/她的任何事情。请改用此条件。

if(age < 18){
  System.out.println(age +" is too young!");
  System.exit(0);
} else {
  System.out.println("You can enter. What is your name?");
}