【问题标题】:How to set a limit for an input integer?如何为输入整数设置限制?
【发布时间】:2019-12-24 22:20:16
【问题描述】:

这个程序应该根据所有给定的变量计算你的分数。应该计算结果,并在我为这些变量赋值之后。我需要为Vijueshmeria 设置一个限制,从010detyrat020k1030,从04到30projekt010

我无法为输入的上述任何值设置限制。希望有人能指导我。

package studenti;
import java.util.Scanner;
public class Studenti {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // deklarimi i variables, inicializimi behet nga perdoruesi
        int Vijueshmeria;
        // deklarimi i variablave te tipit double
        double detyrat, k1, k2, provimi, projekt, rezultati;
        // deklarimi dhe inicializmi i variablave string
        String emri="Abdurrahman";
        String mbiemri="Cakolli";
        Scanner obj=new Scanner(System.in);
        System.out.println("Shkruani vijueshmerine (int):");
        Vijueshmeria=obj.nextInt();
        System.out.println("Shkruani detyrat(double):");
        detyrat =obj.nextDouble();
        System.out.println("Shkruani detyren e k1(double):");
        k1=obj.nextDouble();
        System.out.println("Shkruani detyrat e k2(double):");
        k2=obj.nextDouble();
        System.out.println("Shkruani piket e projektit :");
        projekt=obj.nextInt();
        provimi=((k1+k2)/2*0.6+detyrat+projekt);
        rezultati=Vijueshmeria+detyrat+provimi;
        System.out.println("\n"+emri+""+mbiemri+",ju keni:"+rezultati+"pike");

【问题讨论】:

  • 您无法阻止用户提供不正确的值。您所能做的就是在提供值后对其进行验证,如果值无效,请再次请求值或结束您的应用程序。
  • 要扩展@Pshemo 的评论,我建议在可能的情况下使用bean validation 以验证输入是否有效。
  • @Turing85 你能详细说明一下吗?
  • 我链接的教程非常详细地阐明了它。

标签: java input integer limit


【解决方案1】:

没有内置的方式来做你想做的事。相反,您必须编写代码来读取一个值,检查它是否在允许的范围内,并可能再次要求用户输入一个有效值。

这是一个示例,展示了如何为您的一个变量“vijueshmeria”执行此操作(请注意,我将变量名称编辑为“vijueshmeria”而不是“Vijueshmeria”——即以小写字母开头——跟随@ 987654321@).

此代码的工作方式是用“-1”声明初始值,然后进入“while”循环以提示输入值。下一次循环时,如果 "vijueshmeria" 的值不小于 0 且不大于 10,则向前跳过。

Scanner obj = new Scanner(System.in);
int vijueshmeria = -1;
while (vijueshmeria < 0 || vijueshmeria > 10) {
    System.out.println("Shkruani vijueshmerine (int):");
    vijueshmeria = obj.nextInt();
}
System.out.println("vijueshmeria ok: " + vijueshmeria);

这是一个显示输出的示例运行:

Shkruani vijueshmerine (int):
11
Shkruani vijueshmerine (int):
-2
Shkruani vijueshmerine (int):
5
vijueshmeria ok: 5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2020-08-24
    相关资源
    最近更新 更多