2014-09-12 71 views
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代碼的整潔和質量上進行縮放。

+0

你可以要求代碼審查的[代碼審查(http://codereview.stackexchange.com/)。 – 2014-09-12 23:53:23

+0

爲了提高可讀性,我建議您使用條件語句。 – Dici 2014-09-12 23:53:56

回答

4

不要用==比較字符串,等於說:

str1.equals(str2)