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