数据溢出怎么办,别慌别慌,try_catch来帮忙

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

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值