为什么我的 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();
}
我可以在 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();
}