为什么我的 java 程序中的线程 'main' 出现异常

Why am I getting exception in thread 'main' in my java program

我可以在 ubuntu 中执行以下代码,但不能在 hackerrank 平台上执行。我的输出是正确的,但是由于运行时错误我无法继续:

线程“main”中的异常java.util.NoSuchElementException

import java.util.Scanner;
import java.io.*;

class Solution
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int t=in.nextInt();
        int s=0;
        for(int i=0;i<=t;i++)
        {
            int a = in.nextInt();
            int b = in.nextInt();
            int n = in.nextInt();
            s=a;
            
            for(int j=0;j<n;j++)
            {
                s+= b * Math.pow(2,j);
                System.out.print(s+" ");
            }
            System.out.println();
        }
        
        in.close();
    }
}

java.util.NoSuchElementException 在没有下一个元素时抛出,为避免这种情况,您应该使用 hasNextInt() 进行检查。

试试这个:

public static void main(String[] args)
{
    Scanner in = new Scanner(System.in);
    
    int t= 0;
    
    if(in.hasNextInt())
        t=in.nextInt();
    
    int s=0;
    for(int i=0;i<=t;i++)
    {   
        int a = 0;
        int b = 0;
        int n = 0;
        
        if(in.hasNextInt())
            in.nextInt();
            
        if(in.hasNextInt())
            b = in.nextInt();
            
        if(in.hasNextInt())
            n = in.nextInt();
        s=a;
        
        for(int j=0;j<n;j++)
        {
            s+= b * Math.pow(2,j);
            System.out.print(s+" ");
        }
        System.out.println();
    }
    
    in.close();
}