我的代碼給我44400.0%
。我已經搞砸了一堆,但這是最接近我的正確答案。我只允許改變我已經定義了temp數組和下面的行的內容。當我嘗試劃分更多時,我輸掉了有效數字,因爲我需要四分之三作爲百分比的一部分。從整數不正確的百分比
import java.text.DecimalFormat;
public class ArrayElements90OrMore
{
public static void main(String [] args)
{
int [] array = { 91, 82, 73, 94, 35, 96, 90, 89, 65 };
DecimalFormat percent = new DecimalFormat("#0.0%");
System.out.print("The elements are ");
for (int i = 0; i < array.length; i++)
System.out.print(array[i] + " ");
System.out.println();
System.out.println("The percentage of elements 90 or greater is "
+ percent.format(percent90OrMore(array)));
}
public static int percent90OrMore(int [] temp)
{
int count = 0;
for (int i = 0; i < temp.length; i++) {
if (temp[i] >= 90) {
count++;
}
}
return (count * 1000)/(temp.length);
}
}
這是真的讓我煩惱的事情。我不應該改變第一部分,它不會接受雙倍。如果它接受雙倍的話,這很容易。 – dsorenson 2014-12-07 09:12:25
@dsorenson'percent.format()'確實接受double。哪一部分不能改變?您只需更改'percent90OrMore' – Eran 2014-12-07 09:15:14
我無法通過上一個打印語句更改任何內容。當我使用這行代碼:return((double)count * 100)/ temp.length; 我收到此錯誤: ArrayElements90OrMore.java:35:錯誤:可能丟失精度 返回((double)count * 100)/ temp.length; ^ 必需:int 找到:雙重 1錯誤 – dsorenson 2014-12-07 09:18:17