A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.heima.test;

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

import org.omg.CORBA.ExceptionList;

public class Test1 {

        /**
         * 分析:
         * 1,创建键盘录入对象
         * 2,将键盘录入的结果存储在String类型的字符串中,存储int类型中如果有不符合条件的直接报错,无法进行后续的判断
         * 3,键盘录入的结果转换成int类型的数据,是正确的还是错误的,
         * 4,正确的直接转换
         * 5,错误的要进行对应的判断
         */
        public static void main(String[] args) {
                //1,创建键盘录入对象
                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) {
                                try {
                                        new BigInteger(line);
                                        System.out.println("录入错误,您录入的是一个过大的整数,请重新输入:");
                                }catch (Exception e2) {
                                        try {
                                                new BigDecimal(line);
                                                System.out.println("录入错误,你录入的是一个小数,请重新输入:");
                                        } catch (Exception e1) {
                                                //e1.printStackTrace();
                                                System.out.println("录入错误,您录入的是非法字符,请重新输入:");
                                        }
                                }
                        }
                }
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马