数据溢出怎么办,别慌别慌,try_catch来帮忙
2016-06-08 17:35
260 查看
import java.util.*; import java.io.*; /*哈哈,鉴于Java中每个基本数据类型都有其长度,可以比较输入数据是否在指定数据类型范围内。这里假设输入的数据均为整数整数中最大的是long了,如果输入的数据超过了long的最大值,会发生数据溢出,怎么办?try_catch来帮忙喽,当发生数据溢出,catch会自动捕获异常,然后就可以进行相应的数据判断啦。*/ class Solution{ public static void main(String []argh) { Scanner sc = new Scanner(System.in); int count=sc.nextInt(); for(int i=0;i<count;i++) { try{ long x = sc.nextLong(); System.out.println(x+" can be fitted in:"); if(x>=Byte.MIN_VALUE && x<=Byte.MAX_VALUE){/*基本数据类型数值范围的判断,你掌握了吗?MAX_VALUE都是静态常量,直接通过封装好的基本数据类型类名访问*/ System.out.println("* byte"); } if(x>=Short.MIN_VALUE && x<=Short.MAX_VALUE){ System.out.println("* short"); } if(x>=Integer.MIN_VALUE && x<=Integer.MAX_VALUE){ System.out.println("* int"); } if(x>=Long.MIN_VALUE && x<=Long.MAX_VALUE){ System.out.println("* long"); } }catch(Exception e){ /*假如输入数据超过long最大值,sc.nexLong会发生异常,从而被异常对象e捕获 */ System.out.println(sc.nextLine()+" can't be fitted anywhere."); } }//for end } }
相关文章推荐
- Android四大组件
- Hadoop默认端口说明
- spring中MessageSource的配置使用方法--ResourceBundleMessageSource
- java关键字Transient
- 安装caffe
- BearSkill之UIView挖空处理
- android ROM设置默认Launcher(主屏幕应用)
- C与C++函数声明时的几个小的语法差异
- CSS 换行知多少: word-wrap && word-break && white-space && word-spacing
- cxgrid属性说明,每次用的时候费时费力查找。
- JavaScript高级程序设计 第六章 面向对象程序设计
- [NYIST16]矩形嵌套(DP,最长上升子序列)
- Android内存优化大全(二)
- Intent之resolveActivity() 防止APP崩溃
- 操控女主播“翻床” 王思聪新节目
- superwebbench
- JavaScript基础知识问答题(答案仅供参考)
- 双击退出Activity
- php.ini文件中的include_path设置,载入smarty库
- part1.Linux内核源代码的目录概览