1

我正在为此苦苦挣扎。我知道如何编写代码来确定一个数字是否在 1.0 和 10.0 之间。假设 noOfJudges 是有效输入(3 到 9 之间)

for(noOfJudges = 0; noOfJudges < scores.length; noOfJudges++) {  
  scores[noOfJudges]=console.nextDouble();
  while((scores[noOfJudges] < 1.0)||(scores[noOfJudges] > 10.0)) {
    System.out.print("Please reenter the score (must be between 1.0 and 10.0, in .5 increments): ");
    scores[noOfJudges] = console.nextDouble();
    System.out.println();
  }
  System.out.println();

变量的有效输入应介于 1.0 和 10.0 之间,增量为 0.5,即 4.2 不是有效输入,但 4.5 是。不知道如何在这里进行...

4

2 回答 2

2

将输入乘以 2 并检查它是否在 2.0 和 20.0 之间,然后通过将其转换为 int 来截断小数位并检查截断的值是否等于原始值 ( d == (double)(int)d),或者将输入四舍五入并查看它是否等于原始值输入 ( d == Math.round(d))

于 2013-04-28T03:05:02.107 回答
0

使用这样的东西

   for(double i = 1; i < 10.0; i+=0.5) {
//...
}

查看链接for-loop, increment by double你如何使用整数循环来防止被浮点运算的工件咬伤

于 2013-04-28T03:05:01.460 回答