вот мой код.В чем причина ошибки, например, «String index out the range» в java?
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String s;
int i;
int f=1,c,t=scan.nextInt();
for(int j=0;j<t;j++)
{
s=scan.nextLine();
scan.close();
c=s.charAt(0)-s.charAt(1);
for(i=2;i<s.length()-1;i=i+2)//HERE loop is upto second last element
{
if(s.charAt(i)-s.charAt(i+1)!=c && s.charAt(i+1)- s.charAt(i)!=c)
{
f=0;
break;
}
}
if(f==1)
System.out.print("Funny");
else
System.out.print("Not Funny");
}
}
}
ОШИБКА
Исключение в потоке "основного" java.lang.StringIndexOutOfBoundsException: индекс строки из диапазона: 0 в java.lang.String.charAt (String.java:658) at Solution.main (Solution.java:22)
Я попытался найти в сети, но я не получил ответа.
Что вы имеете в виду, какова цель этой ошибки? вы пытаетесь получить доступ к тому, что не существует - например, вы, если у вас есть 'string s =" hello ";' если нет индекса «99», что бы вы ожидали, если попытаетесь получить доступ к '' [99] '? – Kritner
Но я не выхожу из этого. Я много пробовал, но ошибка всегда приходит. Можете ли вы указать мою ошибку? –
Я точно не знаю, что происходит, так что простите меня, но вы уверены, что вам нужно добавить один в i ('s.charAt (i + 1)') в 'if (s.charAt (i) - s.charAt (i + 1)! = c && s.charAt (i + 1) - s.charAt (i)! = c) '? .. наши интервалы на два – Pythogen