Java中的年龄异常错误
我创建了一个程序来询问用户的姓名和年龄,我还做了一个自定义的异常,但它不会启动任何关于如何使其更好或如何正确启动异常的提示,这是值得赞赏的,但请注意,我仍在学习java 用户定义的异常:(年龄异常) 主程序:Java中的年龄异常错误,java,exception,exception-handling,Java,Exception,Exception Handling,我创建了一个程序来询问用户的姓名和年龄,我还做了一个自定义的异常,但它不会启动任何关于如何使其更好或如何正确启动异常的提示,这是值得赞赏的,但请注意,我仍在学习java 用户定义的异常:(年龄异常) 主程序: package ageName; import java.util.Scanner; @SuppressWarnings("resource") public class Project1 { public static void main(String[]args){
package ageName;
import java.util.Scanner;
@SuppressWarnings("resource")
public class Project1 {
public static void main(String[]args){
Scanner age = new Scanner (System.in);
System.out.println("Enter your age");
int a = age.nextInt();
System.out.println("Enter you name");
String b = age.next();
try{
if(a >125 && a<0){
throw new AgeExcpt();
}
}
catch(AgeExcpt ex){
System.out.println("You entered an invalid number" + a);
}
finally{
System.out.println("Your age is " + a);
System.out.println("Your name is " + b);
}
}
}
packagename;
导入java.util.Scanner;
@抑制警告(“资源”)
公共类项目1{
公共静态void main(字符串[]args){
扫描仪使用年限=新扫描仪(系统英寸);
System.out.println(“输入您的年龄”);
int a=age.nextInt();
System.out.println(“输入您的姓名”);
字符串b=age.next();
试试{
如果(a>125&&a表达式a>125&&a<0
普遍为假。以下仅供参考
你应该试试(正如@Jared提到的)
if(a>125 | | a<0){
抛出新的AgeExcpt();
}
逻辑运算符:
下面列出了逻辑运算符:您可以检查此链接
信息示例
操作员:&&
描述:称为逻辑与运算符。
示例:如果两个操作数都是布尔值true
,则只有条件变为true。(A&&B)为false
操作员:|
描述:称为逻辑或运算符。
示例:如果两个操作数中的任何一个为布尔值true
,则条件变为true。(A | | B)为true
System.out.println(“输入员工年龄:”;
年龄=sc.nextInt();
试一试{
if(年龄<18岁)
抛出新年龄异常(“无效年龄”);
其他的
System.out.println(“有效年龄”);
}
捕获(e){
System.out.println(e+“--Age必须大于18!!”;
System.out.println(“请再次输入正确的员工年龄:”;
年龄=sc.nextInt();
}
如果年龄又错了怎么办?????????
请格式化您的代码……表达式a>125&&a<0
普遍是错误的。您可能是指a<125&&a>0
@AnubianNoob他不是这个意思(我怀疑),但等价物应该是!(a=0)
。通常情况下,您不会只是为了检查而进行尝试。尝试应该在main开始之前或至少在输入age之前开始。它不需要为false吗?它需要是抛出我的异常,以检查它是否超过125或低于0。@MrGamma195如果它普遍为false,则无论大小,都不会抛出您的异常输入。你需要考虑一下你刚才说的,即“或”。我想我明白你告诉我的,我需要它来检查输入的数字是大于125还是小于0,对吗?@MrGamma195是的,“或”,是关键词。@MrGamma195…是的,|
表示“或”。你把C和Java混淆了。在C中,表达式0表示“假”表达式non-zero表示“true”,在Java中它必须是一个布尔表达式(即true
或false
非0或非零)@rocks_90 | | |操作符和我学校的所有其他操作符一起被浏览了一遍。我把它们放在一个txt文件中,只需在我的计算机中进行一些搜索computer@rocks_90不用担心,Java程序员也需要学习C语言——至少我认为这很重要。请解释为什么这是问题的答案。
package ageName;
import java.util.Scanner;
@SuppressWarnings("resource")
public class Project1 {
public static void main(String[]args){
Scanner age = new Scanner (System.in);
System.out.println("Enter your age");
int a = age.nextInt();
System.out.println("Enter you name");
String b = age.next();
try{
if(a >125 && a<0){
throw new AgeExcpt();
}
}
catch(AgeExcpt ex){
System.out.println("You entered an invalid number" + a);
}
finally{
System.out.println("Your age is " + a);
System.out.println("Your name is " + b);
}
}
}
if(a >125 || a< 0){
throw new AgeExcpt();
}
System.out.println("Enter the Employee age::");
age = sc.nextInt();
try {
if(age < 18)
throw new AgeException("Invalid age");
else
System.out.println("Valid age");
}
catch (AgeException e) {
System.out.println(e+"--Age must be greater than 18 !!");
System.out.println("Please enter the correct Employee age again::");
age = sc.nextInt();
}
what if again the age is wrong?????????