【发布时间】:2019-08-17 03:01:03
【问题描述】:
我试图打乱一个字符串的两个随机字母,它们不是第一个字母,也不是最后两个。编译时出现“字符串索引超出范围”错误。我尝试了许多不同的解决方案,但似乎没有任何效果。
对于这个赋值,我们必须使用方法和 .charAt 命令。我尝试为两个随机字符创建变量,然后将它们添加回翻转的字符串中,但也无法使其正常工作。
public static String scramble(String input) {
int range = input.length() - 3;
int place = (int)(Math.random() * range);
String newWord = "";
newWord = input.substring(0, place);
newWord = newWord + newWord.charAt(place) + 2;
newWord = newWord + newWord.charAt(place) + 1;
return newWord;
我期待一个字符串的输出,其中两个字符被打乱。例如,“Fantastic”将是“Fantsatic”或“Fnatastic”。
【问题讨论】:
-
在调用 .chartAt 之前确保“place”值不大于字符串长度
-
编译时为什么会报错?