gpt4 book ai didi

java - 我需要帮助确保用户输入是整数且大于 0

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

我已经尝试解决这个问题有一段时间了,但似乎有些事情不太正常,因为代码不断接受无效值。

package main;

import java.util.Scanner;


import tabla.TablaDeVerdad;

public class Main {

public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int inicializador = 1;
int contador = 1;
TablaDeVerdad tabla;

while(inicializador == 1){
System.out.println("Escoja un número de variables mayor que cero:");
int input;
while(!entrada.hasNextInt() || entrada.nextInt() <= 0){
System.out.println("Error, use un numero que sea mayor que cero:");
entrada.next();
}
input = entrada.nextInt();
tabla = new TablaDeVerdad(input);
System.out.println(tabla.getCantidadDeNúmeros());
inicializador = 0;

}
}

}

我的问题是这些行:

System.out.println("Escoja un número de variables mayor que cero:");
int input;
while(!entrada.hasNextInt() || entrada.nextInt() <= 0){
System.out.println("Error, use un numero que sea mayor que cero:");
entrada.next();
}
input = entrada.nextInt();
tabla = new TablaDeVerdad(

每当我运行时,它都会给出以下输出:主要变量的数量如下:0错误,使用 un numero que sea Mayor que cero:00错误,使用 un numero que sea Mayor que cero:00错误,使用 un numero que sea Mayor que cero:1113

如果输入为零,则总是应该给出错误消息,并且也不应该要求多次使用大于 0 的数字作为输入。

最佳答案

我不懂西类牙语,但这是确保用户输入大于 0 的整数的方法之一

....
int input;
String inputStr = entrada.nextLine();

while(inputStr.replaceAll("\\D","").length() != inputStr.length() || Integer.parseInt(inputStr) <= 0){
System.out.println("Error, use un numero que sea mayor que cero:");
inputStr= entrada.nextLine();
}
input = Integer.parseInt(inputStr);
....

关于java - 我需要帮助确保用户输入是整数且大于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23797230/

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