从键盘输入任一正整数,求该数的阶乘。 3种异常:输入为负数,没有输入任何数,输入为小数。
用try catch捕获一下异常
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int num;
Scanner in=new Scanner(System.in);
System.out.println("输入整数n:");
while(true){
try{
num=in.nextInt();
break;
}catch(Exception e){
System.out.println("输入数据类型异常,请输入整数");
}
}
int sum=1;
for (int i = 1; i <= num; i++) {
sum*=i;
}
System.out.println(num+"的阶乘结果为:"+sum);
}
}
自定义异常,就是继承任一异常
定义自己有参构造
然后调用父类构造方法传个字符串
这个字符串就是出错信息
根据你题目要求 你写三个异常类就好啦
import java.util.Scanner;
public class Dome1 {
public static void main(String[] args) {
//1.创建Scanner
Scanner sc=new Scanner(System.in);
//2.提示语句
System.out.println("请输入一个整数");
//3.声明一个变量接收
int num=sc.nextInt();
//4.输出
int ji=1;
for (int i = 1; i <= num; i++) {
ji=ji*i;
}
System.out.println(num+"的阶乘是:"+ji);
}
}