1

私が理解しようとしているのは、ユーザーが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.");
  }
}
4

6 に答える 6

2

return;現在のメソッドの実行を終了するように書き込むことができます。

于 2012-11-18T20:55:28.880 に答える
2

System.exit(0)どこにいてもプログラムを停止する ために使用するreturn;だけで、メソッドを終了するだけです。

于 2012-11-18T20:59:07.210 に答える
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
      }
    }

}
于 2012-11-18T21:02:16.707 に答える
0

「リターン;」を入れてください。if ( の後、中かっこ {} の if の後に来たいものを置きます

あなたはメイン関数の中にいるので、戻り値は関数を終了するだけで、したがってプログラムを終了します

于 2012-11-18T20:57:02.333 に答える
0

ユーザーが入力した場合に停止する場合は"Jack"、次のようにします。

if (ans.equals("Jack")) {
    System.out.println ( "Jack, you are not allowed to use this program " );
    System.exit();
}
于 2012-11-18T20:57:39.973 に答える
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?");
}
于 2012-11-18T20:58:39.567 に答える