小编gns*_*nsb的帖子

java.lang.NumberFormatException:对于输入字符串:"23"

我给了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)

java string parseint numberformatexception

3
推荐指数
1
解决办法
3万
查看次数

如何检查BigInteger是否为null

我有一个代码可以为BigInteger分配null.我需要检查它是否为空.

我尝试过以下的东西,它们不起作用:

  1. == 只会检查参考,而不是值.

    BigInteger x = BigInteger.ONE;
    
    if(x== null)
    {
        System.out.println( x );
    }
    
    Run Code Online (Sandbox Code Playgroud)

以上输出是打印x.(不管怎样,布尔条件都满足,即使x不为null).

  1. 以下在比较时给出NullPointerException

    BigInteger x = BigInteger.ONE;
    BigInteger myNull = null;
    
    if(x.compareTo(myNull) == 0 )
    {
        System.out.println( x );
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 另一个NPE:

    BigInteger x = BigInteger.ONE;
    
    if(x.compareTo(null) == 0)
    {
        System.out.println( x );
    }
    
    Run Code Online (Sandbox Code Playgroud)

如何检查BigInteger是否正确?

java biginteger compareto

-3
推荐指数
1
解决办法
9626
查看次数