我的轉換代碼工作正常,但我似乎無法限制用戶輸入0和1以外的數字。我設法處理它在一定程度上:程序認識到這個數字(例如2),但它繼續轉換它後面的數字,而忽略了它本身並繼續前進。如果我輸入2011年,它會將其轉換爲小數點後3位(011 = 3),而不是完全打破。我假設它與第一個條件有關,但我不知道如何解決它,所以任何幫助,非常感謝。二進制到Java中的十進制轉換(跳出循環)
我正在使用JavaFX,因此使用了textfield(t3)。
int decimal = 0;
int power = 0;
int bin = Integer.parseInt(t3.getText());
while (bin != 0) {
int temp = bin%10;
if(temp > 1) {
break;
} else {
bin = bin/10;
decimal += temp * Math.pow(2, power);
power++;
}
}
嘗試'INT斌=的Integer.parseInt(t3.getText(),2);' –
你可以使用一個聲明,如果看到如果本包含0或1 – liquidsystem