gpt4 book ai didi

java - Java程序中的空指针异常

转载 作者:行者123 更新时间:2023-11-30 08:15:12 25 4
gpt4 key购买 nike

Question: you have to check for n test cases that multiplication of a and b is equal to 3rd input value or not.If equal then print YES otherwise NO. Input: 2 5 6 30 4 3 20

Output: YES NO

Explanation: 2 is number of test cases. 5 is a & 6 is b ,multiplication is 30 so YES

Constraints :

0 < test cases <= 1000000000 0 < a < b <= 10000000

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Scanner;


class ques1
{
public static void main(String[] args) throws Exception
{

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Scanner sc=new Scanner(System.in);
BigInteger test=new BigInteger(sc.next());

while(!test.equals(BigInteger.ZERO))
{
Scanner s=new Scanner(br.readLine());
s.useDelimiter(" ");
BigInteger p=new BigInteger(s.next());
BigInteger q=new BigInteger(s.next());
BigInteger r=new BigInteger(s.next());
if(p.multiply(q).equals(r))
{
System.out.println("YES");
}
else
{
System.out.println("NO");
}
test=test.subtract(BigInteger.ONE);
}
}
}

该程序在 eclipse 中运行良好。但是在 ideone.com 等在线编译器上运行时,它会给出如下错误消息:

Exception in thread "main" java.lang.NullPointerException
at java.io.StringReader.<init>(StringReader.java:50)
at java.util.Scanner.<init>(Scanner.java:702)
at ques1.main(Main.java:18)

约束太大了,所以我使用了 biginteger。我还使用了 stringtokenizer 而不是输入分离的扫描仪,但它也给出了相同的错误。我必须以间距格式输入,所以我使用 stringtokenizer 或扫描仪。有没有其他方法可以将它们分开。

最佳答案

br.readLine() 到达文件末尾时将返回 null。并且 new Scanner(String) 不会接受 null 作为参数。除此之外,您应该始终检查有效输入/是否可以从资源中读取数据。

关于java - Java程序中的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29754685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com