2014-01-30 50 views
0

我想用一個方法填充一個數組,然後打印出這個數組。我在做什麼錯用數組?

但是,當我嘗試這樣做時,所有它給我都是零。我認爲我的填充方法工作不正常,但我不知道爲什麼。我試圖理解數組,但迄今爲止並不好。我寧願一個解釋而不是一個答案。如果我能自己做到這一點,那將是最好的。

import java.util.Scanner; 

public class diverScore { 
    static double score = 0; 
    static double validDegreeOfDiff = 0; 

    public static void main(String[] args) { 
     double[] score = new double[6]; 
     inputAllScores(score); 
     printArray(score); 
    } 

    public static double[] inputAllScores(double[] x) { 
     Scanner s = new Scanner(System.in); 
     double[] array_score = new double[6]; 
     for (int i = 0; i < 6; i++) { 
      System.out.println("What is the score given by the judge?"); 
      array_score[i] = s.nextDouble(); 
     } 
     return array_score; 
    } 

    public static void printArray(double[] j) { 
     for (int i = 0; i < 6; i++) { 
      System.out.println("The array is:" + j[i]); 
     } 
    } 
} 

回答

0

嘗試

import java.util.Scanner; 



public class DiverScore { 
    static double score = 0; 
    static double validDegreeOfDiff = 0; 

    public static void main(String[] args) { 
//  double[] score = new double[6]; 
     double[] score = inputAllScores(/*score*/); 
     printArray(score); 
    } 

    public static double[] inputAllScores(/*double[] x*/) { 
     Scanner s = new Scanner(System.in); 
     double[] array_score = new double[6]; 
     for (int i = 0; i < 6; i++) { 
      System.out.println("What is the score given by the judge?"); 
      array_score[i] = s.nextDouble(); 
     } 
     return array_score; 
    } 

    public static void printArray(double[] j) { 
     for (int i = 0; i < 6; i++) { 
      System.out.println("The array is:" + j[i]); 
     } 
    } 
} 
3

在你inputAllScores,你寫一個新的本地陣列,並返回它,但你不使用返回的數組。如果你寫入數組中,那麼你傳入的方法會更好(該方法內部稱爲x)。

0
double[] score = new double[6]; 

該行簡單地初始化一個double類型的數組,其中分配了6個索引,每個索引在打印輸出時都爲0。

您可以簡單地將main中的代碼更改爲this,從而實際使用inputAllScores函數的返回值。

public static void main(String[] args) { 
    double[] score = new double[6]; 
    printArray(inputAllScores(score)); 
} 

HTH