您的位置:首页 > 其它

数据溢出怎么办,别慌别慌,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

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: