【问题标题】:My char switching software returns the same answer?我的字符切换软件返回相同的答案?
【发布时间】:2012-12-31 15:05:37
【问题描述】:

我想制作一个接受字符串并对其进行加密的程序。

在程序执行期间,它应该将字符串转换为 char 数组。然后,一个 switch 语句在数组中运行以将 a 替换为 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);
    }
}

【问题讨论】:

    标签: java arrays encryption char


    【解决方案1】:

    您只是更改变量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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多