我正在编写一个程序,将二进制数转换为十进制数,并且只是一个新手程序员.我试图确定输入的字符串是二进制数字,这意味着它只包含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.");
}
Run Code Online (Sandbox Code Playgroud)
原样,无论输入什么(除了退出),程序输出"你没有输入二进制数",即使输入二进制数.我确信我的if语句是错误的,或者我的角色声明是错误的,但是我已经尝试了我个人知道的所有内容来纠正这个问题,我找不到任何在线帮助.任何帮助,将不胜感激.
ars*_*jii 18
你可以使用正则表达式:
num.matches("[01]+")
Run Code Online (Sandbox Code Playgroud)
这将是true
如果字符串num
只包含0
和1
字符,false
否则.