Java 我正在编写一个代码来检测字符串中是否有重复的字符,但每当我尝试运行它时,就会出现运行时错误
代码如下所示: 公共静态无效字符串[]args { 错误是这样的: 主线程java.lang.StringIndexOutOfBoundsException中出现异常:字符串索引超出范围:5 java:658 在numstuff.mainnumstuff.java:23中,java使用0-index.name[2]引用name中的第三个字符。name.length不是name中的有效索引。请改用name.length-1。两个循环都使用范围1..length,但Java的大多数索引都是从0开始的,而不是从1开始的,所以范围应该是0..length-1。文档明确说明了这一点,即javadoc of说:返回指定i处的char值索引的范围从0到长度-1。序列的第一个字符值在索引0处,下一个字符值在索引1处,依此类推,就像数组索引一样。Java 我正在编写一个代码来检测字符串中是否有重复的字符,但每当我尝试运行它时,就会出现运行时错误,java,exception,runtime-error,Java,Exception,Runtime Error,代码如下所示: 公共静态无效字符串[]args { 错误是这样的: 主线程java.lang.StringIndexOutOfBoundsException中出现异常:字符串索引超出范围:5 java:658 在numstuff.mainnumstuff.java:23中,java使用0-index.name[2]引用name中的第三个字符。name.length不是name中的有效索引。请改用name.length-1。两个循环都使用范围1..length,但Java的大多数索引都是从0开始的
Scanner sc = new Scanner(System.in);
String name = sc.next().trim();
for(int count=1; count<=name.length(); count++)
{
char ch = name.charAt(count);
for(int down = name.length(); down>0; down--) {
char sh;
sh = name.charAt(down);
if(ch == sh)
{
System.out.println("There is a repeated word");
}else{
System.out.println("There is no repeated word");
}
}
}
}