2014-11-06 106 views
0

我已經開始學習Java並遇到一些困難。我試圖減去兩個字符串。如何減去兩個字符串

例如,帶有這些字符串;「032」& &「100」。我希望能夠逐個減去每個數字,以便答案將是「032」。

我已經嘗試使用子字符串,並將這兩個值解析爲整數,但不知道下一步該怎麼做。我也嘗試使用for循環來遍歷每個字符串的數組。

我不希望任何人都可以幫我這個忙,但我很想得到一些見解,也可以告訴我,我在正確的方向前進

感謝

public static String appliquerCoup(String combinaison, String coup) { 

String nouveauCoup=""; 

    if(combinaison!=null&&coup!=null){ 
     for(int i=0;i>combinaison.length();i++){ 
      int a = Integer.parseInt(combinaison.substring(i, i + 1)); 
      int b = Integer.parseInt(coup.substring(i, i + 1)); 
      nouveauCoup=String.valueOf(a-b); 
       if(a-b<0){ 
        nouveauCoup=0; 

        } 
       }  

     } // main 
    return nouveauCoup; 

}

+1

如果你減去字符串數字,你會不會得到-132作爲輸出? – Turing85 2014-11-06 00:19:57

+2

從「032」減去「100」產生「032」的邏輯是什麼?或者是一個錯字?你只需要處理3位數字? – 2014-11-06 00:20:05

+2

如何減去032和100會導致032?不應該是068什麼的? – zyl1024 2014-11-06 00:20:08

回答

1

如果我理解你的問題是正確的。你想單獨減去每個數字。 (0-1),(3-0),(2-0)。下面的程序做這個(收益-132):

public static void main(String[] args) { 
    String A = "032"; 
    String B = "100"; 
    String str = ""; 
    for(int i = 0; i < A.length(); i++) 
    { 
     int a = Integer.parseInt(A.substring(i, i + 1)); 
     int b = Integer.parseInt(B.substring(i, i + 1)); 
     int c = a - b; 
     str += String.valueOf(c < 0 ? 0 : c); 
    } 
    System.out.println(str); 
} 

從本質上講,提取每個字符串的第i個字符,將其轉換爲整數,然後做減法。將結果轉換回字符串並將其附加到結果字符串中。

+1

您需要添加否定測試 – 2014-11-06 01:04:44

+0

我會對此做出反應如果您有這兩個值「032」和「190」,會發生什麼? – hfontanez 2014-11-06 01:05:38

+0

感謝您的幫助,我發佈了一些我的代碼,我沒有使用for循環,問題是我不允許使用StringBuilder.hehe。 – Jusra 2014-11-06 01:05:55