/**  * 编写一个Java应用程序的方法,该方法接收从键盘输入的自然数:  * 如果输入的数不是自然数。抛出异常,提示“请正确输入数字!”,然后继续等待用户输入。  * 如果输入的数为正数,则显示这个数,程序继续运行。  * 如果输入为负数,抛掷自定义的异常,输出错误信息后,程序终止运行。  * 如果输入的数为0,则程序终止运行。注:本题中,0不当作自然数  * 当程序终止运行时,会显示"程序退出,Bye!"。  */ import java.util.*; public class TestException {  static double d;  public static void main(String [] args){   System.out.println("请输入一个数字:");   //首先通过调用testA()方法,要求能接收键盘输入的数,并对输入进行异常捕获,以确定输入的是数字。   double dd = TestException.testA(); //  System.out.println(dd);   try {    //此处调用testB()方法,可用来判断在testA()方法中输入的数是否是自然数    int n = TestException.testB(dd);//    System.out.println(n + " 是自然数");   } catch (MyException e) {    // TODO Auto-generated catch block    System.out.println("程序退出,Bye!");    e.printStackTrace();   }  }  public static int testB(double dd)throws MyException{   int n = (int)dd; //  System.out.println(n);   if(dd < 0){    throw new MyException("输入的是负数,非法!");   }   else if(dd == 0){    throw new MyException("输入的是0!");   }   else if(n == dd){    return n;   }   else{    throw new MyException("不是自然数");   }  }   public static double testA(){ //判断输入的是不是数字   Scanner in = new Scanner(System.in);   /**起初,把Scanner 的对象定义成了static 的类成员变量,    * 结果本方法中递归调用时出现循环错误,即不能二次接收try中键盘输入    * 分析:    */   try{    d = in.nextDouble();    return d;   }catch (InputMismatchException e) {    System.out.println("请输入数字:");    testA(); //能过catch捕获,如果输入的不是数字,则重新调用输入方法,并要求重新输入   }  //如果输入的是数字,即可与double类型匹配,便不会报异常,可直接返回   return d;  } }

判断是否为自然数java_java判断输入的是否是自然数相关推荐

  1. c++输入一个整数判断是否为完全平方数_matlab判断一个整数是完全平方数

    (C语言c++)判断一个数是否是 完全平方数的 整数倍 #include#includeint ispow(int x){    int& 用c编判断一个数是否是完全数 #include#in ...

  2. 单片机I/O开漏输出详解 “与逻辑” ,改变上拉电源的电压,提供TTL/CMOS电平输出,标准的开漏脚一般只有输出的能力添加其它的判断电路,才能具备双向输入、输出的能力

    单片机I/O开漏输出详解 开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 我们先来说说集电极开路输出的结 ...

  3. python获取键盘输入_python之判断数据异常Python读取键盘输入

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: <python之判断数据异常Python读取键盘输入>总结了关于python网站教程,对于我们来www. ...

  4. php输入银行卡判断所属银行,PHP实现根据银行卡号判断银行,php银行卡判断银行_PHP教程...

    PHP实现根据银行卡号判断银行,php银行卡判断银行 bankList.php请在文章末尾下载 header('Content-type:text/html;charset=utf-8'); requ ...

  5. oracle 判断是否位汉字,js判断字符是否是汉字的两种方法小结

    有时需要判断一个字符是不是汉字,比如在用户输入含有中英文的内容时,需要判断是否超过规定长度就要用到.用 Javascript 判断通常有两种方法. 1.用正则表达式判断 js判断字符是否是汉字 .co ...

  6. linux判断文件类型是否存在脚本,shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断...

    一.shell脚本中的逻辑判断 在shell脚本中,很多都会逻辑判断,判断某一个数值,判断某一个文件,或者某一个目录,我们针对判断结果再做一些操作,如果没有判断,就没法做一些操作 格式1:if条件:t ...

  7. z变换判断稳定性和因果性_判断因果性.PPT

    判断因果性 10.7离散时间系统系统函数与Z域分析 一.单位样值响应与系统函数 1.由零极点分布确定单位样值响应 由零极点分布确定单位样值响应(续) 利用z-s平面的映射关系 10.8 系统函数的方框 ...

  8. JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法

    (1)判断是否是整数  JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法. (1)判断是否是整数 // 判断整数function isInteg ...

  9. c语言判断非法字符题目,C语言考试题库之判断题-c语言考试判断题

    <C语言考试题库之判断题-c语言考试判断题>由会员分享,可在线阅读,更多相关<C语言考试题库之判断题-c语言考试判断题(7页珍藏版)>请在人人文库网上搜索. 1.三.判断题(1 ...

最新文章

  1. C语言中降序qsort通用写法
  2. a按钮居中显示 bootstrap_Excel合并后居中,跨越合并,及跨列居中的区别你都知道吗...
  3. 她在博士阶段破釜沉舟转换研究方向后,发表了32篇SCI
  4. C#请求Post接口
  5. p沟道mos管导通条件_场效应管(MOS管)的判断与应用知识
  6. 计算机科技专业前景,美国伊利诺伊理工大学
  7. Tomcat 服务器介绍和使用
  8. 【docker系列】docker之部署springboot项目
  9. 我是特斯拉车主:以前很风光,现在被鄙视
  10. fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory
  11. python猴子补丁_Python猴子补丁Monkey Patch用法实例解析
  12. 前端ui框架_推荐几个移动端前端UI框架
  13. 二项分布的期望方差证明
  14. Red Giant Trapcode Suite 17 for Mac视频编辑粒子插件
  15. linux运行关关采集器,杰奇小说2.3-自动采集-关关采集器高级版
  16. 红米手机开发者选项usb调试如何开启
  17. PD虚拟机的三种网络模式
  18. SO逆向之x博国际版登陆分析
  19. 7. 常见网络攻击欺骗手段与防护
  20. 脱离文档流的方法CSS浮动产生的负面影响及解决办法

热门文章

  1. 快速上手SpyGlass——基本流程
  2. HALCON示例程序surface_scratch.hdev提取划痕
  3. linux单线程处理多个请求,redis是单线程的,如何处理并发请求?
  4. faster rcnn的测试
  5. Iris recognition papers in the top journals in 2017
  6. openCV中waitKey函数介绍
  7. 卸载失败_Windows 10可能的新功能-自动卸载失败的补丁更新
  8. 设置堆内存大小_jmap和jhat命令行工具的配合使用,更好的掌握堆内存状况
  9. springboot打war包汇总
  10. 浅谈微信小程序生命周期