gpt4 book ai didi

java - 当年龄不在范围内时抛出用户定义的异常

转载 作者:行者123 更新时间:2023-12-01 07:21:28 26 4
gpt4 key购买 nike

我创建了一个 Student 类,其属性为:rno、age、name、course,并且定义了一个参数化构造函数。我想在 age 不在 15 到 21 之间时抛出异常。我已将 age 初始化为 27,但它不会进入 if 条件。你知道这是为什么吗?

   class Age extends Exception
{
Age(String str)
{
super(str);
}
}

public class Student
{
int rno,age;
String name,course;

Student(int r,int a,String n,String c)
{
rno=r;
age=a;
name=n;
course=c;
}

public void display()
{
try
{
if(age<=15 && age>=21)
throw new Age("Not accepted");
else
System.out.println("Name:"+name);
System.out.println("Rno:"+rno);
System.out.println("Age:"+age);
System.out.println("Course:"+course);
System.out.println("...........");
}

catch(Age a)
{
System.out.println(""+a);
}
}

public static void main(String args[])
{
Student s1=new Student(1,26,"ABC","Java");
Student s2=new Student(2,17,"XYZ","C++");
s1.display();
s2.display();
}
}

Output
Name:ABC
Rno:1
Age:26
Course:Java
...........
Name:XYZ
Rno:2
Age:17
Course:C++
...........

最佳答案

问题出在声明 if(age<=15 && age>=21) 上- 年龄绝不会同时低于 15 岁和高于 21 岁。

您有&&这意味着 boolean 逻辑中的AND,您需要将其更改为 ||这意味着“或”。

关于java - 当年龄不在范围内时抛出用户定义的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35968067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com