gpt4 book ai didi

java - 字符串迭代和构建新的编码字符串不起作用

转载 作者:行者123 更新时间:2023-12-02 10:10:12 24 4
gpt4 key购买 nike

我正在尝试将一个字符串转换为另一个字符串,例如加密。基本上,如果我的初始字符串是“ABC”,结果将类似于“pb7gxr9b3ptwhvtc92”,它由 3 个代码组成,每个代码对应 3 个初始字符。初始字符串取自 Android EditText,当您按下某个按钮时就会发生转换,然后,输出将显示到 TextView 中。这是代码:

 eB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String textInput = editText1.getText().toString().toLowerCase();
String str;
StringBuilder output = new StringBuilder();
for (int i = 0; i < textInput.length(); i++) {
switch (textInput.charAt(i)) {
case ' ':
output.append("wus65s");
case 'a':
output.append("pb7gxr");
case 'b':
output.append("9b3ptw");
case 'c':
output.append("hvtc92");
...........................
...........................
case 'z':
output.append("acxdox");
}
}
str = output.toString();
oE.setText(str);
}
});

输出完全错误(我发布了下面的图片),看起来我引入了整个文本而不是 3 个字符: image

谁能告诉我我的代码不起作用的原因吗?谢谢!

最佳答案

向您正在处理的每个 case 添加一个 break; 语句。否则,匹配的案例下面的剩余案例也将运行。这就是为什么你得到的 String 会那么长。使您的 switch 语句如下所示:

switch (textInput.charAt(i)) {
case ' ':
output.append("wus65s");
break;
case 'a':
output.append("pb7gxr");
break;
case 'b':
output.append("9b3ptw");
break;
case 'c':
output.append("hvtc92");
break;
...........................
...........................
case 'z':
output.append("acxdox");
break;
default:
// handle the case for a char that is neither a letter nor a whitespace
break;
}

关于java - 字符串迭代和构建新的编码字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com