这是我的代码。
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");
}
}
}
错误
线程“main”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0 at java.lang.String.charAt(String.java:658) 在Solution.main(Solution.java:22)
我试图在网上搜索,但我没有得到答案。
答案 0 :(得分:1)
错误消息告诉您问题所在。这是
的原因java中的“String index out of range”之类的错误
错误消息告诉您第22行发生异常,即c=s.charAt(0)-s.charAt(1);
因为它而超出界限
String index out of range: 0
,这意味着当你调用s.charAt(0)
时,s的长度为0,这意味着s可能是一个空字符串。