我给了23(看起来像一个正确的字符串)作为输入,但stil得到NumberFormatException.请指出我哪里出错了.
PS我试图在codechef上解决"厨师和字符串问题"
相关代码:
Scanner cin=new Scanner(System.in);
cin.useDelimiter("\n");
String data=cin.next();
System.out.println(data);
/*
* @param Q no. of chef's requests
*/
String tempStr=cin.next();
System.out.println(tempStr);;
int Q = Integer.parseInt(tempStr);
Run Code Online (Sandbox Code Playgroud)
输出:
sdfgsdg
sdfgsdg
23
23
Exception in thread "main" java.lang.NumberFormatException: For input string: "23
"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Chef.RegexTestHarness.main(RegexTestHarness.java:24)
Run Code Online (Sandbox Code Playgroud)
完整计划:
package Chef;
//
//TODO codechef constraints
import java.util.Scanner;
import java.lang.*;
import java.io.*;
//TODO RETURN TYPE
class RegexTestHarness
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
cin.useDelimiter("\n");
String data=cin.next(); …Run Code Online (Sandbox Code Playgroud) 我有一个代码可以为BigInteger分配null.我需要检查它是否为空.
我尝试过以下的东西,它们不起作用:
== 只会检查参考,而不是值.
BigInteger x = BigInteger.ONE;
if(x== null)
{
System.out.println( x );
}
Run Code Online (Sandbox Code Playgroud)以上输出是打印x.(不管怎样,布尔条件都满足,即使x不为null).
以下在比较时给出NullPointerException
BigInteger x = BigInteger.ONE;
BigInteger myNull = null;
if(x.compareTo(myNull) == 0 )
{
System.out.println( x );
}
Run Code Online (Sandbox Code Playgroud)另一个NPE:
BigInteger x = BigInteger.ONE;
if(x.compareTo(null) == 0)
{
System.out.println( x );
}
Run Code Online (Sandbox Code Playgroud)如何检查BigInteger是否正确?