我想弄清楚的是当用户放置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.");
}
}
答案 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)
因为你在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?");
}