[英]Print array values above a certain value
我正在構建的方法應該打印高於方法中平均值的所有值。 我已經構建了計算平均值的方法,然后只打印高於該數量的值。
但是它會打印出積極的值。
int total = 0;
for (int i = 0; i < intList.length; i++)
{
total += intList[i];
{
if (intList[i] > intList[total])
{
System.out.println(intList[i] + "\t");
}
}
}
return total;
我如何制作它而不是打印所有正面,它只打印陣列中的值高於數組中的平均值?
你需要兩個不同的循環。 一個將所有數字加在一起得到總數。 然后你需要得到該總數的平均值。 然后再次循環檢查並打印
你必須循環2次,一次用於計算平均值,然后當你得到總計算時,你必須改變,如果比較。 intList[i] > intList[total]
到intList[i] > total
示例:
public static void main(String args[]){
int[] intList = {1,2,3,4,5,6,7,8,9,10};
int total = 0;
// first loop calculate
for (int i : intList){
total += i;
}
double average = total / (double)intList.length;//take care array can't be empty.
System.out.println("average :"+ average);
//then show
for(int i : intList){
if (i > average){
System.out.println(i + "\t");
}
}
}
public static void main(String[] args) {
int[] values = new int[] { 1, 5, 2, 6, 3, 7, 4, 8 };
double sum = 0;
for (int value : values)
sum += value;
double avg = sum / values.length;
System.out.printf("AVG = %.2f\n----------\n", avg);
for (int value : values) {
if (value > avg)
System.out.println(value);
}
}
輸出:
AVG = 4.50
----------
5
6
7
8
上面的答案固定它,你的第二個循環不是將它與平均值進行比較,而是將其與總數進行比較。 首先需要一個循環來獲得數組的平均值,然后需要第二個循環來測試數組的平均值。
for (int i = 0;i < array.count; i++){
total = total + array[i]
}
average = total / array.count
for (int i = 0;i < array.count; i++){
if (array[i]>total){
print
}
}
有些偽代碼可以讓你去。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.