2016-02-05 70 views
-1

現在我有下面的代碼,我試圖讓代碼追加到一個字符串,而不是system.out.println。我知道這很奇怪,但不知道該怎麼說。我可以使用if語句來追加到字符串嗎?

char[] c = inputString.toCharArray(); 
    for(char ch : c) 
    { 
     if(ch <=88 && ch>=65 || ch<=120 && ch>=97) 
     System.out.print(Character.valueOf((char) (ch+2))); 

     else 
      if (ch =< 1) 
       System.out.print(Character.valueOf((char) (ch-24))); 
      else 
       if (ch == 2) 
        System.out.print(Character.valueOf((char) (ch-24))); 
       else 
      System.out.print(ch); 
+0

是的,當然,只需將您的System.out.println替換爲相關代碼即可。 – James

+0

你真的不清楚你想在這裏實現什麼。例如,我們不知道你想要追加什麼。 (我也*強烈*建議所有if語句使用大括號。) –

+0

我想要有字符串結果=(Character.valueOf((char)(ch-24))); ,我將添加大括號 – thore725

回答

3

所有你需要的是旁邊的c[] array定義字符串,並通過該運營商+=這些字符添加到它,並在結束時,你有你想要的一個完整的字符串,所以

char[] c = inputString.toCharArray(); 
String str = ""; 
for(char ch : c) 
{ 
    if(ch <=88 && ch>=65 || ch<=120 && ch>=97) { 
     str += Character.valueOf((char) (ch+2)); 
    } else{ 
     if (ch =< 1){ 
      str += Character.valueOf((char) (ch-24)); 
     }else { 
      if (ch == 2){ 
       str += Character.valueOf((char) (ch-24)); 
      }else{ 
       str += ch; 
      } 
     } 
    } 
} 

// now str is the result that you want an you can do any operation on it as you wish 
0

您也可以使用如下的StringBuffer:

char[] c = inputString.toCharArray(); 
StringBuffer strBf = new StringBuffer(); 
String str; 
for(char ch : c){ 
    if(ch <=88 && ch>=65 || ch<=120 && ch>=97) { 
     strBf.append(Character.valueOf((char) (ch+2))); 
    } else{ 
     if (ch =< 1){ 
      strBf.append(Character.valueOf((char) (ch-24))); 
     }else { 
      if (ch == 2){ 
       strBf.append(Character.valueOf((char) (ch-24))); 
      }else{ 
       strBf.append(ch); 
      } 
     } 
    } 
} 
str = strBf.toString(); 
相關問題