运行 给定程序时显示编译错误
Compilation error is displayed while running the given program
我刚开始练习竞争性编程 codeforces.I 在解决问题时遇到了问题。它显示编译时错误
import java.util.*;
public class A71
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n ;
n=sc.nextInt();
String a[] = new String[n];
for(int i=0;i<n;i++)
{
a[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
{
int l=a[i].length();
System.out.println(a[i].charAt(0)+""+(l-2)+""+a[i].charAt(l-1));
}
}
}
显示的错误如下
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
at java.base/java.lang.String.charAt(String.java:693)
at A71.main(A71.java:17)
Runtime error: exit code is 11
正如 Stultuske 在评论中指出的那样,由于访问空字符串,您会收到此错误。尝试在循环
中用 sc.next() 替换 sc.nextLine()
我刚开始练习竞争性编程 codeforces.I 在解决问题时遇到了问题。它显示编译时错误
import java.util.*;
public class A71
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n ;
n=sc.nextInt();
String a[] = new String[n];
for(int i=0;i<n;i++)
{
a[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
{
int l=a[i].length();
System.out.println(a[i].charAt(0)+""+(l-2)+""+a[i].charAt(l-1));
}
}
}
显示的错误如下
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
at java.base/java.lang.String.charAt(String.java:693)
at A71.main(A71.java:17)
Runtime error: exit code is 11
正如 Stultuske 在评论中指出的那样,由于访问空字符串,您会收到此错误。尝试在循环
中用 sc.next() 替换 sc.nextLine()