gpt4 book ai didi

java - 尝试在java中验证用户输入

转载 作者:行者123 更新时间:2023-12-02 05:24:44 27 4
gpt4 key购买 nike

对不起,大家,第一次在这里发帖,所以请告诉我是否有一些礼仪或我应该遵循的事情!

我在论坛上看到过一些这样的内容,我也浏览过它们,试图制作一个作品,但我似乎做不到。

我需要创建一个程序,要求用户输入两个正整数。每次回答一个整数时,我想验证它以确保它是 1) 数字和 2) 也是正数。如果不是,我应该终止该程序。到目前为止,我已经尝试过:

import java.util.Scanner;

public class Assignment4 {

public static void main (String [] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Please enter two positive integers.");
System.out.println("Please enter the first integer:");
int num1 = in.nextInt();
do {
System.out.println("Invalid. ***End of Program***");
System.exit(0);
while (!in.hasNextInt()) {
System.out.println("Invalid. ***End of Program***");
System.exit(0);
}
}while (num1 <= 0);
}
}
}

当我输入负数时,它有效,但由于某种原因,java只收到无效的错误输入,并且当我输入字母时不会运行。我也尝试过:

import java.util.Scanner;

public class Assignment4 {

public static void main (String [] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Please enter two positive integers.");
System.out.println("Please enter the first integer:");
int num1 = in.nextInt()
if (!in.hasNextInt()){
System.out.println("Invalid integer. ***End of Program***");
System.exit(0);
}else if (num1 <= 0){
System.out.println("Invalid negative number. ***End of Program***");
System.exit(0);
}
}
}

它什么也没做。昨天我在这个问题上花了大约两个小时,今天又花了一个小时,在网上寻找其他解决方案。我无法使用任何 match 或 try/catch 语句,因为我还没有学会它们!任何见解都会很棒,因为我在这里疯了。

最佳答案

这里的问题是您试图读取用户输入的任何内容作为 int 值。

如果输入恰好不是整数,程序将返回 InputMismatchException

为了解决这个问题,我们将执行以下操作:

int num1, num2 = 0;

try {
System.out.println("Please enter two positive integers.");
System.out.println("Please enter the first integer:");
num1 = in.nextInt();

if(num1 < 0) {
System.out.println("Invalid integer. ***End of Program***");
System.exit(0);

} else {
System.out.println("Please enter the second integer:");
num2 = in.nextInt();

if(num2 < 0) {
System.out.println("Invalid integer. ***End of Program***");
System.exit(0);
}
} catch(InputMismatchException e) {
System.out.println("That is not an integer. ***End of Program***");
System.exit(0);
}
...

希望这有帮助!

关于java - 尝试在java中验证用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172379/

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