1
import java.util.Scanner;
public class pointSystem {
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int points;
int total = 0;
final int judges = 5;
System.out.println("Give points: ");
for(int i=0;i<judges;i++)
{
System.out.println("Give judge's "+ (i+1) + " points: ");
points = scanner.nextInt();
if(points<0 || points>20) {
System.out.println("You can only give points between 0-20");
System.out.println("Judge "+ (i+1) + " points: ");
points = scanner.nextInt();
}
total+=points;
}
System.out.println("Total points are "+total);
}
因此,这完全是一个简单的程序,它要求用户输入点,共有5名法官和然后在最后总结了几点。但是,只能在0-20之间插入点,如果它超出范围,它会给出一个错误,告诉我们再次输入并继续这样做,直到我们输入有效的输入。
现在程序工作得很好,除了一个要点,例如,如果我输入“22”,它会再次按要求提问,但如果再次输入“22”,它会通过并跳到下一个判断。
如何才能让它继续询问,直到我向其提交下一个裁判之前给出有效的输入?如果您修复我的代码,请给出一个小解释。
此外,我应该做一个小的编辑,当它总结了最后的点,它减去最高和最低的分数,总结之间的点。因此,如果积分是“3,5,8,9,20”,它将带走“3和20”,并且只能总结出“5,8和9”使其成为22.
使用while循环。这将解决你的问题。 – Helios
将'if'改为'while',这将起作用。 –
使用for循环没有简单的方法吗?我有点这样做,以更好地了解循环,只是在互联网上做一些随机练习,并希望更好地学习循环。 – user3478800