gpt4 book ai didi

java - 为什么这个程序在 jcreator 上给出运行时错误,但在 netbeans 上却没有?

转载 作者:行者123 更新时间:2023-12-02 08:37:27 35 4
gpt4 key购买 nike

这是我对sphere在线判断的解决方案palin problem 。它在 Netbeans 上运行良好,但法官拒绝了我的回答,称它给出了运行时错误。我在 JCreator 上尝试过,它说:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at Main.main(Main.java:73)

我没有传递一个空字符串供其解析,这是为什么?

代码:

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



class Main {

public static int firstPalinLargerThanNum(int num){

int foundPalin =0;

int evalThisNum = ++num;

while (true){


if (isPalin(evalThisNum))


break;

evalThisNum++;
}

foundPalin = evalThisNum;
return foundPalin;

}

public static boolean isPalin(int evalThisNum){

boolean isItPalin = false;

int dig=0;
int rev=0;


int n = evalThisNum;

while (evalThisNum > 0)
{

dig = evalThisNum % 10;
rev = rev * 10 + dig;
evalThisNum = evalThisNum / 10;

}

if (n == rev) {

isItPalin=true;
}

return isItPalin;

}


public static void main(String args[]) throws java.lang.Exception{

BufferedReader r1 = new BufferedReader(new InputStreamReader(System.in));

/*BufferedReader r1 = new BufferedReader (new FileReader(new File ("C:\\Documents and Settings\\Administrator\\My Documents\\NetBeansProjects\\Sphere\\src\\sphere\\sphere\\PALIN_INPUT.txt")));*/

String read = r1.readLine();

int numberOfTestCases = Integer.parseInt(read);

for (int i=0; i<numberOfTestCases;i++){

read = r1.readLine();

if (read!=null){

int num = Integer.parseInt(read);

System.out.println(firstPalinLargerThanNum(num));

}
}
}


}

输入:

2
808
2133

第 73 行是:int num = Integer.parseInt(read);

最佳答案

如果您点击<Enter>,您将收到该错误当程序需要一个数字时。

假设您的输入是

2
3
<Enter>

在处理数字 3 后,您将收到您所指示的错误,因为您已告诉例程迭代两次。

顺便说一句,除了数字解析的错误处理之外,您可能还想引入 trim()readLine()方法调用:

String read = r1.readLine().trim();

如果用户在数字周围添加空格,这将使您能够优雅地处理输入。

关于java - 为什么这个程序在 jcreator 上给出运行时错误,但在 netbeans 上却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1180079/

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