【发布时间】:2019-04-06 15:49:19
【问题描述】:
import java.util.Scanner;
import java.lang.*;
public class testing {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
char[] engArray = {'A','B','C','D','E','F','G','H','I'};
String stringEngArray = String.valueOf(engArray);
System.out.println("Text input");
String input2 = input.nextLine().toUpperCase();
int inputedOffset = 4;
char[] finalArray = inpute2.toCharArray();
for (int i = 0; i < inputedText.length(); i++) {
int arrayPosition = inpute2.indexOf(inputedText.charAt(i));
int engPosition = stringEngArray.indexOf(inputedText.charAt(i));
int test = (arrayPosition % inputedOffset);
int newTest = engPosition+test;
finalArray[i] = engArray[newTest];
}
String output = new String(finalArray);
System.out.println(output);
}
}
我正在尝试更改用户输入的文本以完成一些基本加密。
当我输入 abcd 或 tesla 或 world 时,输出按预期工作,并且正在更改为 aceg 到 tfuoa 到 wptod 当我输入 aaaa 或 aabbcc 或通常在文本上重复一个字母时会出现问题。在第二次 for 循环找到相同的字母时,它只使用第一次读取的相似字母的数组位置。
有什么想法吗?
【问题讨论】:
标签: java string loops for-loop char