运行给定程序时显示编译错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行给定程序时显示编译错误相关的知识,希望对你有一定的参考价值。

我刚刚开始在Codeforce上练习竞争性编程。在解决问题时遇到了一个问题。它显示了编译时错误

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.nextLine()替换为sc.next()

以上是关于运行给定程序时显示编译错误的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 在编译器开始编译时显示错误

从其他片段启动视频视图片段时显示问题?

Node.js 应用程序在本地主机上运行良好,但在 Heroku 上部署时显示错误

当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。

更改片段时显示 ProgressBar - Android

如何在编译时显示 #define 的值?