Java条件(if子句设置)

Java条件(if子句设置),java,Java,我想弄清楚的是,当用户把age

我想弄清楚的是,当用户把
age<18
输入时,我希望程序停止。下面的“Jack”部分也有同样的想法,如果用户名为Jack,我希望它也停止

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.");
  }
}
import java.util.Scanner;
班级新手
{
公共静态void main(字符串[]arg)
{
扫描仪qk=新扫描仪(System.in);
智力年龄;
字符串ans;
System.out.println(“你多大了?”);
年龄=qk.nextInt();
if(年龄<18岁)
System.out.println(年龄+“太年轻了!”);
如果(年龄>18岁)
System.out.println(“您可以输入。您叫什么名字?”);
扫描仪q=新扫描仪(System.in);
ans=q.nextLine();
如果(ans.equals(“杰克”))
System.out.println(“杰克,你不允许使用这个程序。”);
}
}

您可以编写
返回
终止当前方法的执行。

您可以编写
返回
终止当前方法的执行。

放置一个“return;” 在if后面(但是把你想要的放在if后面的大括号{}

由于您在主函数内,因此返回将只退出函数,然后退出程序

放置一个“返回” 在if后面(但是把你想要的放在if后面的大括号{}


由于您在主函数内,因此返回将退出函数,然后退出程序

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

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

如果要在用户输入“Jack”时停止,请执行以下操作:

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

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

if(age < 18)
  System.exit(0);
if(年龄<18岁)
系统出口(0);
你的情况是这样的

if(age < 18){
  System.out.println(age +" is too young!");
  System.exit(0);
}
if(年龄<18岁){
System.out.println(年龄+“太年轻了!”);
系统出口(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?");
}
if(年龄<18岁){
System.out.println(年龄+“太年轻了!”);
系统出口(0);
}否则{
System.out.println(“您可以输入。您叫什么名字?”);
}

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

if(age < 18)
  System.exit(0);
if(年龄<18岁)
系统出口(0);
你的情况是这样的

if(age < 18){
  System.out.println(age +" is too young!");
  System.exit(0);
}
if(年龄<18岁){
System.out.println(年龄+“太年轻了!”);
系统出口(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?");
}
if(年龄<18岁){
System.out.println(年龄+“太年轻了!”);
系统出口(0);
}否则{
System.out.println(“您可以输入。您叫什么名字?”);
}
只需使用
系统退出(0)
即可在您所在的位置停止程序,
return;
只需终止该方法。

只需使用
系统。退出(0)
即可在您所在的位置停止程序,
返回;
只需终止该方法。

考虑使用
布尔值
字段跟踪用户是否有权使用该程序

示例:

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
      }
    }

}
import java.util.Scanner;
班级新手
{
公共静态void main(字符串[]arg)
{
布尔值=真;
扫描仪qk=新扫描仪(System.in);
智力年龄;
字符串ans;
System.out.println(“你多大了?”);
年龄=qk.nextInt();
in.nextLine();//从缓冲区中清除换行符
if(年龄<18岁){
System.out.println(年龄+“太年轻了!”);
授权=假;
}
else{//else语句修复了逻辑错误
System.out.println(“您可以输入。您的名字是什么?”);
ans=qk.nextLine();
如果(ans.equals(“杰克”)){
System.out.println(“杰克,你不允许使用这个程序”);
授权=假;
}
}
如果(授权){
//在这里做程序工作
}
}
}

考虑使用
布尔值
字段跟踪用户是否有权使用该程序

示例:

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
      }
    }

}
import java.util.Scanner;
班级新手
{
公共静态void main(字符串[]arg)
{
布尔值=真;
扫描仪qk=新扫描仪(System.in);
智力年龄;
字符串ans;
System.out.println(“你多大了?”);
年龄=qk.nextInt();
in.nextLine();//从缓冲区中清除换行符
if(年龄<18岁){
System.out.println(年龄+“太年轻了!”);
授权=假;
}
else{//else语句修复了逻辑错误
System.out.println(“您可以输入。您的名字是什么?”);
ans=qk.nextLine();
如果(ans.equals(“杰克”)){
System.out.println(“杰克,你不允许使用这个程序”);
授权=假;
}
}
如果(授权){
//在这里做程序工作
}
}
}

当然,这并不总是意味着程序也会停止。一个非常糟糕的建议和糟糕的编程风格。我应该知道。我是一个糟糕的程序员…:)当然,这并不总是意味着程序也会停止。一个非常糟糕的建议和糟糕的编程风格。我应该知道。我是一个糟糕的程序员…:)正如其他人所写,在这个上下文中使用return做同样的事情。正如其他人所写的,在这个上下文中使用return做同样的事情。谢谢你的帮助。好。。。如果我不使用第二台扫描仪,程序会跳过“你叫什么名字?”的答案,然后ends@AtakanBal您需要清除
\n