判断一个数是否为整数python,自然数是整数对吗
/**
*编写从键盘接收自然数输入的Java应用程序的方法:
*如果输入的数字不是自然数。抛出异常,提示“请正确输入数字!”然后继续等待用户输入。
*如果输入的数字是正数,将显示该数字,程序将继续运行。
*如果输入为负,抛出自定义异常,输出错误信息后,程序停止运行。
*如果输入的数字是0,程序将停止运行。注意:在这个问题中,0不被视为自然数。
*当程序停止运行时,“程序退出,再见!”将会显示。
*/
导入Java . util . *;
公共类TestException {
静态双d;
公共静态void main(String [] args){
System.out.println(请输入一个数字:);
//首先通过调用testA()方法,要求接收键盘输入的数字,并捕捉输入的异常,确保输入的是数字。
double DD=test exception . testa();
//system . out . println(DD);
尝试{
//这里调用testB()方法,可以用来判断testA()方法中输入的数字是否为自然数。
int n=test exception . testb(DD);//
System.out.println(n 为自然数);
} catch (MyException e) {
//TODO自动生成的catch块
程序退出,再见!);
e . printstacktrace();
}
}
public static int testB(double dd)抛出MyException{
int n=(int)DD;
//system . out . println(n);
if(dd 0){
抛出新的MyException(输入是负的,非法的!);
}
else if(dd==0){
引发新的my exception(“0!”被输入。);
}
else if(n==dd){
返回n;
}
否则{
抛出new MyException(非自然数);
}
}
Public static double testA(){//判断输入是否为数字
Scanner in=新扫描仪(system . in);
/* *最初,Scanner的对象被定义为static的类成员变量,
*结果该方法中,递归调用时存在循环错误,即try中的键盘输入无法接收两次。
*分析:
*/
尝试{
d=in . nextdouble();
返回d;
} catch(InputMismatchException e){
System.out.println(请输入一个数字:);
testA();//可以通过catch捕获。如果输入的不是数字,再次调用输入法,要求重新输入。
}//如果输入是数字,可以匹配double类型,所以不会报错,可以直接返回。
返回d;
}
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。