Java_基础—异常练习

package com.soar.test;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Test5 {
    /*
      * 键盘录入一个int类型的整数,对其求二进制表现形式
      * 如果录入的整数过大,给予提示,录入的整数过大请重新录入一个整数BigInteger
      * 如果录入的是小数,给予提示,录入的是小数,请重新录入一个整数
      * 如果录入的是其他字符,给予提示,录入的是非法字符,请重新录入一个整数
      * 分析:
      * ① 创建键盘录入对象
      * ② 将键盘录入的结果存储在String类型的字符串中。存储int类型中,如果有不符合条件直接报错,无法进行后需判断
      * ③ 键盘录入的结果转换成int类型的数据,是正确的还是错误的
      * ④ 正确的直接转换
      * ⑤ 错误的要进行对应的判断
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");

        while(true){
            String line = sc.nextLine();        //将键盘录入的结果存储在line中
        try{
            int num = Integer.parseInt(line);   //将字符串转换为整数
            System.out.println(Integer.toBinaryString(num));    //将整数转换为二进制
            break;
        }catch(Exception e){        //Alt + Shift +Z (try..catch快捷键)
            try{
                new BigInteger(line);
                System.out.println("录入错误,您录入的是一个过大的整数,请重新输入一个整数:"); 
            }catch(Exception e1){
                try {
                    new BigDecimal(line);
                    System.out.println("录入错误,您录入的是一个小数,请重新输入一个整数:");
                } catch (Exception e2) {
                    System.out.println("录入错误,您录入的是非法字符,请重新输入一个整数:");
                }
            }
        }
    }
    }
}
/*
    请输入一个整数
    11111111111111111111111111111
    录入错误,您录入的是一个过大的整数,请重新输入一个整数:
    12.3
    录入错误,您录入的是一个小数,请重新输入一个整数:
    aaaaa
    录入错误,您录入的是非法字符,请重新输入一个整数:
    60
    111100
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值