我正在编写一个将二进制数转换为十进制数的程序,我只是一个新手程序员。我一直在尝试确定输入的字符串是二进制数,这意味着它只包含 1 和 0。到目前为止我的代码是:
String num;
char n;
Scanner in = new Scanner(System.in);
System.out.println("Please enter a binary number or enter 'quit' to quit: ");
num = in.nextLine();
n = num.charAt(0);
if (num.equals("quit")){
System.out.println("You chose to exit the program.");
return;
}
if (n != 1 || n != 0){
System.out.println("You did not enter a binary number.");
}
照原样,无论输入什么(除了退出),即使输入了二进制数,程序也会输出“您没有输入二进制数”。我确信我的 if 语句是错误的或者我的角色声明是错误的,但是我已经尝试了我个人所知道的一切来纠正这个问题,但我在网上找到的任何帮助都没有。任何帮助将不胜感激。
最佳答案
你可以只使用正则表达式:
num.matches("[01]+")
如果字符串 num
仅包含 0
和 1
个字符,并且 ,这将为
否则。true
false
关于java - 检查输入的字符串是否仅包含 1's and 0' s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809914/