【发布时间】:2013-09-28 23:37:34
【问题描述】:
我正在做一个包含几个单独部分的课堂作业,除了这个之外,我都完成了。我需要从用户那里获取字符串输入并创建一个循环(最好是 for 循环),在每个字符之间插入星号。我完全被这个难住了,所以如果有人能给我一些帮助以开始它,我将不胜感激。
编辑:到目前为止我已经想出了这个
} else if (choice.equalsIgnoreCase("C")) {
System.out.print("Enter text here: ");
String orig = input.nextLine();
// To use for asterisk insertion
int x = 1;
int y = 2;
for (int length = orig.length(); length > 0;) {
orig = orig.substring(0,x) + "*" + orig.substring(y);
x = x + 2;
y = y + 2;
}
}
它编译得很好,但是当我测试它并输入一些文本时,它会出现 线程“主”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:5
【问题讨论】:
-
到目前为止您尝试了哪些方法,您在哪里遇到了麻烦?另外,为什么“(最好是for循环)”?为什么你使用什么样的循环很重要?
-
这是一个循环赋值。我们需要使用 while、do-while 和 for 循环。 for 循环是我唯一没有使用过的循环。我知道我需要使用 .substring(x,y) 方法,但我不确定如何设置它,以便循环在用户输入的字符串的每个字符之间插入星号。
标签: java string loops for-loop input