gpt4 book ai didi

java - for循环中的substring()导致 "StringIndexOutOfBoundsException: String index out of range: -1"

转载 作者:行者123 更新时间:2023-12-01 17:38:45 25 4
gpt4 key购买 nike

public class Asterisk
{
public static void main(String[] args)
{
String output="";
int count=1, input;

System.out.println("Input the size of the triangle from 1 to 50:");
input = 5;

for(count=1;count <= input;count++)
{
output += "*";
System.out.println(output);
}

input -= 1;

for(count =input;count <= input;count--)
{
output = output.substring(0,count);
System.out.println(output);
}
}
}

我的代码编译正确,并且运行也正确。但是,在输出的底部,它会打印一条错误消息:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException:

String index out of range: -1

    at java.lang.String.substring(String.java:1937)

at Asterisk.main(Asterisk.java:18)

谁能解释一下这种奇怪的行为吗?谢谢!

最佳答案

只要值 <= 输入,您的第二个 for 循环就会从“输入”开始倒数。这包括 -1(以及可能更多的负数)。您可能想要“for (count = input; count > 0; count --)

关于java - for循环中的substring()导致 "StringIndexOutOfBoundsException: String index out of range: -1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672914/

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