Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的字符切换软件返回相同的答案?_Java_Arrays_Encryption_Char - Fatal编程技术网

Java 我的字符切换软件返回相同的答案?

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

我想做一个程序,用一个字符串加密它

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

但是,程序返回的结果与开始时相同!这是密码

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