2016-02-05 69 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(); 
相关问题