2012-12-31 28 views
0

我想制作一个接受字符串并加密的程序。我的字符切换软件返回相同的答案?

在执行程序期间,它应该将字符串转换为char数组。然后,一个switch语句在数组中运行,用b替换,反之亦然。

但是,程序只是返回一样的在开始!这里是代码

import java.lang.*; 
import java.util.Scanner; 


public class Program 
{ 

    public static void main(String args[]) 
    { 
     Scanner input = new Scanner(System.in); 
     String pw = input.next(); 
     char pwa[] = pw.toCharArray(); 

     for(char c : pwa){ 
      switch(c){ 
      case 'a': 
      c = 'b'; 
      break; 
      case 'b': 
      c ='a'; 
      break; 
      } 
     } 
     String convpw = new String(pwa); 
     System.out.println(convpw); 
    } 
} 

回答

5

你只是改变变量c,不pwac是您的本地环路。

你可以这样做:

for (int i=0; i<pwa.length; i++) { 
    switch(pwa[i]){ 
    case 'a': 
     pwa[i] = 'b'; 
     break; 
    case 'b': 
     pwa[i] ='a'; 
     break; 
    } 
}