gpt4 book ai didi

java - 异常和parseInt

转载 作者:行者123 更新时间:2023-12-01 19:04:43 25 4
gpt4 key购买 nike

为什么我的第一个方法“inputNumber”返回无限输出“这不是一个有效的数字”而第二种方法返回问题“输入有效数字:”

我不明白为什么使用 parseInt 的方法不做同样的事情......它们都抛出异常并且都执行“catch”。

这是我的代码:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("you typed the number: " + inputNumber(input));

}

public static int inputNumber(Scanner input) {
int num = 0;
while (num == 0) {
System.out.print("Type a number: ");
try {
return input.nextInt();
} catch (Exception e) {
System.out.println("this is not a valid number");
}
}
return num;
}

public int readNumber(Scanner input) {
boolean running = true;
while (running) {
System.out.print("Write a number: ");

try {
int num = Integer.parseInt(input.nextLine());
return num;
} catch (Exception e) {
System.out.println("this is not a valid number");
}
}
return 0;
}
}

最佳答案

Please make few changes:
1. No need of num variable in inputNumber() method,
2. Make readNumber() method static.

您也可以为 inputNumber() 方法尝试此逻辑。

public static int inputNumber(Scanner input) {
System.out.print("Type a number: ");
try {
return input.nextInt();
} catch (Exception e) {
System.out.println("this is not a valid number");
}
return 0;
}

关于java - 异常和parseInt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59581604/

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