0
我想創建一個簡單的二進制到十進制轉換爲我的CS類獲得一點額外的功勞。我們只在我的課堂上使用Java,所以我在Java平臺上開發。我已經建立了一個主頁來調用我的課程方法,以便我在CS課程中學到的課程有多個課程時更容易。我打電話給我的第一個方法stringSplit,它將二進制值作爲參數,將其轉換爲字符串,然後使用.substring將其分割爲每一位。它將每一位設置爲一個變量,以便以後分析。接下來,它運行我的bi2decFunctions方法。這是我在這裏:'If'和'Else'不能在Java中工作?
public static void bi2decFunctions(String num128, String num64, String num32, String num16, String num8, String num4, String num2, String num1){
int num128Return;
int num64Return;
int num32Return;
int num16Return;
int num8Return;
int num4Return;
int num2Return;
int num1Return;
System.out.println(" " + num128 + " " + num64 + " " + num32 + " " + num16 + " " + num8 + " " + num4 + " " + num2 + " " + num1);
//128
if(num128 == "1"){
num128Return = 128;
} else {
num128Return = 0;
}
//64
if(num64 == "1"){
num64Return = 64;
} else {
num64Return = 0;
}
//32
if(num32 == "1"){
num32Return = 32;
} else {
num32Return = 0;
}
//16
if(num16 == "1"){
num16Return = 16;
} else {
num16Return = 0;
}
//8
if(num8 == "1"){
num8Return = 8;
} else {
num8Return = 0;
}
//4
if(num4 == "1"){
num4Return = 4;
} else {
num4Return = 0;
}
//2
if(num2 == "1"){
num2Return = 2;
} else {
num2Return = 0;
}
//1
if(num1 == "1"){
num1Return = 1;
} else {
num1Return = 0;
}
System.out.println(" " + num128Return + " " + num64Return + " " + num32Return + " " + num16Return + " " + num8Return + " " + num4Return + " " + num2Return + " " + num1Return);
bi2decDisplay(num128, num64, num32, num16, num8, num4, num2, num1, num128Return, num64Return, num32Return, num16Return,
num8Return, num4Return, num2Return, num1Return);
}
每次我運行此,我的8位輸入正確的值顯示出來,但NUM(1-128)返回變量都等於0,「如果」聲明甚至不影響他們的結果。任何人有任何想法?
我也想把這個展示給我的CS課程,所以我想在1-10代碼的整潔和質量上進行縮放。
你可以要求代碼審查的[代碼審查(http://codereview.stackexchange.com/)。 – 2014-09-12 23:53:23
爲了提高可讀性,我建議您使用條件語句。 – Dici 2014-09-12 23:53:56