2017-02-21 567 views
-3

編輯:我需要對數組進行如下操作:sort,find minimum,find maximum,find the average。Java int Array:查找平均值,最小值/最大值,排序

1)如何正確地訪問其他類2的方法)什麼因素,我需要爲了讓我的方法的工作(因爲我得到了來自谷歌的例子)

我初始化我試圖找到如何處理數組中的數字的例子,但是我發現很難弄清楚考慮到代碼使用不同的變量名稱,而且很大程度上沒有組織和沒有評論。

這是我迄今爲止在我的方法類:

//Grades Array 
int[] score = {70,90,80,85,65,55,100,70,40,77,66,55,44}; 
int number; 

//Get 
public int getNumber(){ 
    return number; 
} 

//Average Grade 
public static double average(int[] score, int number) 
{ 
    double average = 0; 
    if (score.length > 0) 
    { 
     average = number/score.length; 
    } 
    return average; 
} 

這裏是我的主類:

public class Main { 
    public static void main(String[] args) { 
     //Average Method 
     OtherMethods average = new OtherMethods(); 
     int[] number = null; 
     OtherMethods.average(number, 0); 
     System.out.println(number); 
    } 
} 

因此,大家可以看到我所有的地方。這很大程度上是我嘗試應用的一些例子。

這是我正在使用的排序代碼。將我的變量保持在這裏使用的變量當然是有利的,但我不確定從哪裏開始。

//Ascending Sort Method 
public static void sort(int[] score, int number) 
{ 
    for(i=0; i < num-1; i++) //For each sublist 
    { 
     min = list[i]; 
     position = i; 

     for (j=i+1; j < num; j++) //Find minimum 
     { 
      if (list[j] < min) 
      { 
       min = list[j]; 
       position = j; 
      } 
     } 
     temp = list[position];  //Swap 
     list[position] = list[i]; 
     list[i] = temp; 
    } 
} 

任何幫助將不勝感激。

+0

試着問一個更具體的問題。我會建議**大膽**並把它放在第一 –

+2

你的問題是什麼?詢問一個重點問題。如果你有多個,發佈多個問題。我們無法幫助您完成您任務的各個部分,這太寬泛了。 –

+0

容易與downvotes,黨。編輯帖子。 – Pachyderm

回答

0

如果您使用的是Java 8+,請查看功能streams,特別是IntStream

例如,最大/最小/平均:

int min = IntStream.of(score) 
        .min(); // or .max() or .average() 

,並進行排序:

score = IntStream.of(score) 
       .sorted() 
       .toArray(); 
+0

但是有人在搜索排序數組後可能不會做功課。 –

0

如果你想你可以做冒泡排序簡單的東西分類編號,這是相當海峽轉發比較n至n + 1和開關,如果需要的話:

void bubbleSort(int ar[]) 
{ 
    for (int i = (ar.length - 1); i >= 0; i--) 
    { 
     for (int j = 1; j ≤ i; j++) 
     { 
     if (ar[j-1] > ar[j]) 
     { 
       int temp = ar[j-1]; 
       ar[j-1] = ar[j]; 
       ar[j] = temp; 
    } } } } 

或像你以上所做的選擇排序:

void selectionSort(int[] ar){ 
    for (int i = 0; i ‹ ar.length-1; i++) 
    { 
     int min = i; 
     for (int j = i+1; j ‹ ar.length; j++) 
      if (ar[j] ‹ ar[min]) min = j; 
     int temp = ar[i]; 
     ar[i] = ar[min]; 
     ar[min] = temp; 
} } 

另一件事您目前有這樣的設置您的getNumber()函數的方式有沒有真正的看到使用您的號碼變量是全球性的開始。

如果你想要更多的幫助,你將不得不提出一個實際的問題。

相關問題