我想寫一個接收字符串值並打印十進制數的程序。二進制到十進制 - java
另外,如果字符串值不是1或0,我需要打印一條消息。
我寫了這段代碼,但它總是進入if命令。
我希望您的支持!
謝謝
import java.util.Random;
public class Decimal {
public static void main(String[] args) {
String input = (args[0]);
int sum = 0;
for (int i = 0; i <= input.length(); i++) {
if (!(input.charAt(i) == '0') || (input.charAt(i) == '1')) {
System.out.println("wrong string");
break;
}
char a = input.charAt(i);
if (a == '1') {
sum |= 0x01;
}
sum <<= 1;
sum >>= 1;
System.out.println(sum);
}
}
}
變化'(input.charAt(I)== '0')|| (input.charAt(i)=='1')'to'!(input.charAt(i)=='0')&&(input.charAt(i)=='1')' – JackVanier
對那些像這樣放置的人來說是錯誤的。 – SBI
相當於(!(input.charAt(i)=='0'|| input.charAt(i)=='1')) – clsbartek