这是我的密码。它是为课堂设计的,应该通过随机替换“dbqp”来模拟“诵读困难症”。
import java.util.Scanner;
public class Dyslexia
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a String");
String str = scanner.nextLine();
String output = "";
String e = null;
for (int i = 0; i < str.length(); i++)
{
int randomInt = (int)(Math.random() * 4) + 1;
System.out.println(randomInt);
if (randomInt == 1)
{
e = "d";
}
if (randomInt == 2)
{
e = "b";
}
if (randomInt == 3)
{
e = "q";
}
if (randomInt == 4)
{
e = "p";
}
output = str.replaceAll("[dbqp]", e);
System.out.println(output);
}
}
}
我当前得到的输出(假设我输入了qpdb)是:
1
dddd
3
qqqq
3
qqqq
3
qqqq
忽略用于调试的数字,但考虑到这些随机数字,我的目标输出是:
1
d
3
q
3
q
3
q
1条答案
按热度按时间mfpqipee1#
你在做一个
replaceAll
调用,只会将它们设置为相同的值。如果希望每个字符单独考虑,则需要为每个字符随机计算和选择,然后用它重新生成一个新字符串。样本输出:
Some bossible dountiful buotes.
如果您想在哪个字母与另一个字母交换之间保持一致,那么可以考虑生成一个Map。样本输出:
Anb puite dossiqly even more qoisterous qountiful puotes.