Java 我的字符切换软件返回相同的答案?
我想做一个程序,用一个字符串加密它 在程序执行期间,应该将字符串转换为字符数组。然后,在数组中运行switch语句,用b替换a,反之亦然 但是,程序返回的结果与开始时相同!这是密码Java 我的字符切换软件返回相同的答案?,java,arrays,encryption,char,Java,Arrays,Encryption,Char,我想做一个程序,用一个字符串加密它 在程序执行期间,应该将字符串转换为字符数组。然后,在数组中运行switch语句,用b替换a,反之亦然 但是,程序返回的结果与开始时相同!这是密码 import java.lang.*; import java.util.Scanner; public class Program { public static void main(String args[]) { Scanner input = new Scanner(S
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);
}
}
您只是更改变量
c
,而不是pwa
,并且c
是循环的本地变量
您可以这样做:
for (int i=0; i<pwa.length; i++) {
switch(pwa[i]){
case 'a':
pwa[i] = 'b';
break;
case 'b':
pwa[i] ='a';
break;
}
}
for(int i=0;i您只是更改变量c
,而不是pwa
,并且c
是您循环的本地变量
您可以这样做:
for (int i=0; i<pwa.length; i++) {
switch(pwa[i]){
case 'a':
pwa[i] = 'b';
break;
case 'b':
pwa[i] ='a';
break;
}
}
for(int i=0;i