{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) throws AgeException //增加异常处理
{
super(n,s,g);//调用父类的构造方法
Page=P;
if(Page<7)//当小学生年龄小于7时抛出异常
throw(new AgeException());
}
public void setPage(int newPage)//设置年龄
{
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
求教在此程序中怎么添加try-catch语句,目的是当小学生年龄小于7岁时,弹出异常!!
6 个解决方案
#1
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
#2
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
#3
throw改成
throws
#4
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
改成throws之后就变成非法语句了····
#5
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
throw改成
throws
改成throws之后就变成非法语句了····
#6
改成throws之后就变成非法语句了····
你程序本身也没错,在构造函数中添加了抛出异常的操作。
你使用文本编辑器编辑的java吧,字母打错了。。直接拷贝这个吧
package com.test;
interface Choose // 接口
{
String Choose(); // 选课
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class AgeException extends Exception // 定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException() {
s = "小学生的年龄不能小于7!";
}
public String toString()// 输出出错信息
{
return s;
}
}
class Academician extends Student // 继承于Student的子类:大学生
{
int Aage;// 年龄
public Academician() {
}
public Academician(String n, char s, String g, int A) // 定义构造方法,用来进行初始化
{
super(n, s, g);// 调用父类的构造方法
Aage = A;
}
public void setAage(int newAage)// 设置年龄
{
Aage = newAage;
}
public int getAage()// 获取年龄
{
return Aage;
}
public String Choose()// 实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student// 继承于Student的子类:小学生
{
int Page;// 年龄
public Pupil() {
}
public Pupil(String n, char s, String g, int P) throws AgeException // 增加异常处理
{
super(n, s, g);// 调用父类的构造方法
Page = P;
if (Page < 7)// 当小学生年龄小于7时抛出异常
throw (new AgeException());
}
public void setPage(int newPage)// 设置年龄
{
Page = newPage;
}
public int getPage()// 获取年龄
{
return Page;
}
}
public class Test {
public static void main(String args[]) {
Academician A1 = new Academician("张三", '男', "大学一年级", 18); // 给大学生A1赋值
System.out.println("姓名:" + A1.getname());
System.out.println("性别:" + A1.getsex());
System.out.println("年级:" + A1.getgrade());
System.out.println("年龄:" + A1.getAage());
System.out.println("选课情况:" + A1.Choose());
System.out.println("\n\n");
Pupil P1 = null;
try {
P1 = new Pupil("李四", '女', "二年级", 3);
} catch (AgeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 给小学生P1赋值
System.out.println("姓名:" + P1.getname());
System.out.println("性别:" + P1.getsex());
System.out.println("年级:" + P1.getgrade());
System.out.println("年龄:" + P1.getPage());
}
}
#1
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
#2
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
#3
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
throw改成
throws
#4
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
改成throws之后就变成非法语句了····
#5
首先抛出异常
public void setPage(int newPage)//设置年龄
{
if(newPage<7)throw new AgeException
Page=newPage;
}
然后try{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}catch (Exception e) {
// TODO: handle exception
}
照指导修改之后程序为:
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) //赋初值
{
super(n,s,g);//调用父类的构造方法
Page=P;
}
public void setPage(int newPage)//设置年龄
{
if(newPage<7)
throw (new AgeException());//抛出异常
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
try
{
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
}
catch (Exception e)
{}
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());
System.out.println("年龄:"+P1.getPage());
}
}
但是报错:
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:91: 未报告的异常 AgeException;必须对其进行捕捉或声明以便抛出
throw (new AgeException());//抛出异常
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:116: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("姓名:"+P1.getname());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:117: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("性别:"+P1.getsex());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:118: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年级:"+P1.getgrade());
^
C:\Users\xuqianqian\Desktop\xqq_Applicationtigao1.java:119: 找不到符号
符号: 变量 P1
位置: 类 xqq_Applicationtigao1
System.out.println("年龄:"+P1.getPage());
错误在哪儿?`~~~
throw改成
throws
改成throws之后就变成非法语句了····
#6
改成throws之后就变成非法语句了····
你程序本身也没错,在构造函数中添加了抛出异常的操作。
你使用文本编辑器编辑的java吧,字母打错了。。直接拷贝这个吧
package com.test;
interface Choose // 接口
{
String Choose(); // 选课
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class AgeException extends Exception // 定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException() {
s = "小学生的年龄不能小于7!";
}
public String toString()// 输出出错信息
{
return s;
}
}
class Academician extends Student // 继承于Student的子类:大学生
{
int Aage;// 年龄
public Academician() {
}
public Academician(String n, char s, String g, int A) // 定义构造方法,用来进行初始化
{
super(n, s, g);// 调用父类的构造方法
Aage = A;
}
public void setAage(int newAage)// 设置年龄
{
Aage = newAage;
}
public int getAage()// 获取年龄
{
return Aage;
}
public String Choose()// 实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student// 继承于Student的子类:小学生
{
int Page;// 年龄
public Pupil() {
}
public Pupil(String n, char s, String g, int P) throws AgeException // 增加异常处理
{
super(n, s, g);// 调用父类的构造方法
Page = P;
if (Page < 7)// 当小学生年龄小于7时抛出异常
throw (new AgeException());
}
public void setPage(int newPage)// 设置年龄
{
Page = newPage;
}
public int getPage()// 获取年龄
{
return Page;
}
}
public class Test {
public static void main(String args[]) {
Academician A1 = new Academician("张三", '男', "大学一年级", 18); // 给大学生A1赋值
System.out.println("姓名:" + A1.getname());
System.out.println("性别:" + A1.getsex());
System.out.println("年级:" + A1.getgrade());
System.out.println("年龄:" + A1.getAage());
System.out.println("选课情况:" + A1.Choose());
System.out.println("\n\n");
Pupil P1 = null;
try {
P1 = new Pupil("李四", '女', "二年级", 3);
} catch (AgeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 给小学生P1赋值
System.out.println("姓名:" + P1.getname());
System.out.println("性别:" + P1.getsex());
System.out.println("年级:" + P1.getgrade());
System.out.println("年龄:" + P1.getPage());
}
}