2014-09-20 86 views
-7

有3個問題供用戶回答。例如:如果用戶做了正確的所有答案,代碼會顯示「你有3個正確答案,你的成績是100%」如何查找用戶所做正確答案的數量然後將正確答案轉換爲百分比?

int x = (int) (20 * Math.random()) + 1; 
    int y = (int) (20 * Math.random()) + 1; 

    System.out.println(x + " + " + y + " : "); 
    int sum = keyboard.nextInt(); 
    if (sum == (x+y)) { 
     System.out.println("Correct!"); 
    } 
    else {System.out.println("Wrong!"); 
    } 

    System.out.println(x + " * " + y + " : "); 
    int mult = keyboard.nextInt(); 
    if (mult == (x*y)) { 
     System.out.println("Correct!"); 
    } 
    else {System.out.println("Wrong!"); 

    } 

    System.out.println(x + " - " + y + " : "); 
    int minus = keyboard.nextInt(); 
    if (minus == (x-y)) { 
     System.out.println("Correct!"); 
    } 
    else { 
     System.out.println("Wrong!"); 
    } 
+1

要增加存儲在變量使用'變量=變量+ 1'值。有了這些信息,您應該能夠計算出正確回答了多少個問題(您還可以統計總共有多少個問題)。現在,您需要劃分「正確/總計」並將其乘以100.(嘗試考慮哪些類型用於變量 - 分割時應返回哪種類型的數據)。現在嘗試編寫代碼並詢問您何時會遇到代碼問題。 – Pshemo 2014-09-20 00:36:54

+0

非常感謝你的幫助! – bscouth 2014-09-20 00:58:10

回答

1

首先,聲明一些變量以用於測試。

Integer userScore=0; 
Integer totalScore=0; 

該百分比是userScore/totalScore * 100。要在整個測試中添加這些內容,您的每個問題都應該在其中包含類似的內容。

if (answerIsCorrect) { 
    userScore++; 
} 
totalScore++ 

要得到的百分比,你只需要使用已創建像這樣的變量:

percentage = userScore/totalScore*100 
System.out.println("Your percentage: "+percentage.toString()); 
+0

是的,謝謝!它的工作完美無瑕,我也改變了一些代碼! – bscouth 2014-09-20 00:59:38

0

我認爲這樣做最簡單的方法是將跟蹤問題的數量和正確答案的數量。在代碼頂部聲明以下變量:

int questions = 0; 
int correctAnswers = 0; 

每次打印出問題時,增加問題計數。對於每個正確的答案,增加correctAnswer計數。最後經過所有問題都回答:

int percent = (correctAnswers * 100)/questions 

例如,如果他們得到了5只答對了的10%的,然後將包含整數值50。然後,只需將它輸出到用戶:

System.out.println("Your percent correct is:" + percent); 
+0

哇我沒有意識到,我們可以使用相同的整數作爲我們想要的許多時間,(對不起,因爲我是新來的java)所以什麼意思是隻是添加「int問題和correctanswer」到每個分支(我的意思是後if (){int ....}對嗎? – bscouth 2014-09-20 01:06:51

相關問題