1)编写一个Java程序,接收用户通过键盘不断输入表示某门课程的成绩的字符串(按回车为一个字符串结束),当输入非法数字(输入值小于0或大于100)时提示成绩输入有误,当输入为非数字的字符串时提示输入格式不合法。
程序源代码:
1.事先需要自定义异常类如下:
public class MyException extends Exception{ //构建自定义异常,继承Exception类
public MyException(String Error) { //构造方法
super(Error); //继承父类的构造方法
}
}
2.程序代码
import java.util.Scanner;
public class class01 {
public static int yichang (int a) throws MyException{//定义方法抛出异常
int c;
if(a>100||a<0){//判断a的值是否比0小比100大
throw new MyException("你输入的成绩有误!");//错误信息
}
else{
c=a;
}
return c;
}
public static void main(String[]args){
while(true){//循环
try{
System.out.println("请输入成绩:");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int c=yichang(a);//调用函数
System.out.println("你输入的成绩是:"+c);
}
catch(MyException e){
System.out.println(e);//输出自定义异常信息
}
catch(Exception e){
System.out.println("你输入的成绩格式不合法!");//输出异常信息,(因为定义的是int型变量所以非数字字符会自动抛出异常信息)
}
}
}
}
输出结果:
2) 编写一个 java程序,通过赋初值或接收用户通过键盘输入的方式为表示用户名和密码的两个String类对象赋值,然后进行判断,如果用户名或密码为null,抛出自定义异常并结束程序;如果输入密码长度小于6个字符,抛出自定义异常并结束程序;如果用户名和密码不等于事先指定的字符串,抛出自定义异常并结束程序;否则输出提示“用登录成功”。
程序源代码:
1.第一步也需要自定义异常类如下:
public class MyException extends Exception{ //构建自定义异常,继承Exception类
public MyException(String Error) { //构造方法
super(Error); //继承父类的构造方法
}
}
2.程序代码:
import java.util.Scanner;
public class class02 {
public static String yichang(String a,String b)throws MyException{//自定义抛出异常
if(a.equals("")||b.equals("")){//判断输入的用户名和密码是否为空
throw new MyException("你输入的用户名或密码为空!");//错误信息
}
else if(b.length()<6){//判断密码字符串的长度是否小于6
throw new MyException("你输入的密码小于6位!");
}
else if(!a.equals("tian")|!b.equals("123456")){//判断用户名和密码是否正确
throw new MyException("你输入的用户名或密码不正确!");
}
return (null);
}
public static void main(String[]args){
while(true){
System.out.println("请输入用户名:");
Scanner sc1=new Scanner(System.in);
String a=sc1.nextLine();
System.out.println("请输入密码:");
Scanner sc2=new Scanner(System.in);
String b=sc2.nextLine();
try{
yichang(a,b);//调用函数
System.out.println("用户登录成功!");
}
catch(MyException e){
System.out.println(e);//输出异常信息
System.exit(0);//退出程序
}
}
}
}
运行结果如下: