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
}
}
数据溢出怎么办,别慌别慌,try_catch来帮忙
最新推荐文章于 2024-06-21 08:02:43 发布