2 andrew9991 andrew9991 于 2016.04.17 10:15 提问

这个要怎么改才能在输入的数不是二进制字符的时候提示输入错误呢

比如我输入99 或者abc都提示 Not a binary

import java.util.Scanner;
public class Binary {

public static int toDecimal(String b) {

    int decimal = Integer.parseInt(b,2);
    return decimal;
}


public static boolean isBinary(String b) {

    int inputNum = Integer.parseInt(b);

    while(inputNum != 0){
        if(inputNum % 10 > 1){
            return false;
        }
        inputNum = inputNum / 10;
    }
    return true;


}

public static void main(String[] args) {


    System.out.print("Enter binary: ");
    Scanner in = new Scanner(System.in);
    String binaryNum = in.next();
    isBinary(binaryNum);
    int outputDecimal = toDecimal(binaryNum);
    System.out.print("\n"+ outputDecimal +" in decimal");
}

}

1个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.04.17 10:23
已采纳

就是在你调用isBinary后添加一句判断语句就可以了啊。

 boolean isBinary = isBinary(binaryNum);
        if(isBinary){
            System.out.print("\n" + binaryNum + "is Binary");
        }else{
            System.out.print("\n" + binaryNum + "is not Binary.");
        }
w172087242
w172087242 回复andrew9991: 先验证输入的是否为数字,否则会parseInt会出异常,异常可以用try catch捕获
一年多之前 回复
wojiushiwo945you
wojiushiwo945you 回复andrew9991: 就是上一段代码啊,只要你输入了,我就调用isBinary进行判断,根据判断结果给出提示信息啊。
一年多之前 回复
andrew9991
andrew9991 额 请问下如果要输入abc提示出错要怎么改呀
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!