2016-12-02 23 views
0

我正在嘗試編寫一個代碼,它將使用主要請求的用戶想要的數字數,然後用戶輸入它們。然後在外部方法中,我需要從數組中獲取這些數字,並找到均勻且大於60的數字。之後,我需要將這兩個數字打印回主數據庫。以下是我有:在外部方法中填充數組並返回主數據庫

public class arrayCounter 
{//begin class 
public static void main(String[]args) 
{//begin main method 
    java.util.Scanner input = new java.util.Scanner(System.in); 
    System.out.println(); 

    double greaterThan = 0; 
    double evenNumber = 0; 

    System.out.println("Please enter the number of intergers you want to put into the array."); 
    int numbers = input.nextInt(); 
    int[] arrayInt = new int[numbers]; 
    int i = 0; 

    for (i =0; i < arrayInt.length; i++){//begin for loop 
     System.out.println("Please enter in those numbers now."); 
     arrayInt[i] = input.nextInt(); 
     }//end for loop 

    System.out.println("There are " + greaterThan + " numbers that are greater than 60."); 
    System.out.println("The even numbers are " + evenNumber + " in the array."); 
}//end main 



public static double arrayCounter (double greaterThan, double evenNumber){//begins outside method 
    int i = 0; 
    int numbers = 0; 
    int[] arrayInt = new int[numbers]; 
    for (i = 0; i < arrayInt.length; i++){//begins for loop 
    if(arrayInt[i] <= 60){//begin if loop 
    greaterThan++; 
    return greaterThan; 
    }//end if loop 
    }//end for loop 

    if(arrayInt[i] % 2 == 0){//begin if loop 
    evenNumber++; 
    return evenNumber; 
    }//end if loop 
    return 0; 
}//end outside method 
}//end class 

當我編譯它在NetBeans和膩子,它編譯得很好,但它實際上並沒有給我任何數量的答案,只是0。會說: 「有0.0數字大於60. 數組中的偶數爲0.0。」

我做錯了沒有得到正確的數字?

+0

這裏有一些錯誤。 – HouseCat

回答

0

首先,你在arrayCounter中一次返回一個值,所以你不能像這樣得到兩個變量。我不知道你是否認爲它使用引用/指針就像C/C++一樣?它不這樣工作。

取而代之,在你的類中聲明你的變量,使它們作爲範圍的一部分重用。

public class arrayCounter 
{//begin class 
double greaterThan = 0.0; 
double evenNumber = 0.0; 

然後,只需要在你的arrayCounter方法中添加/增加類變量,就像你在下面做的那樣。現在

greaterThan++; evenNumber++;

,你是不是要返回值,讓我們擺脫了return語句,輸入參數,以及雙變的返回類型爲void,如下圖所示。

public static void arrayCounter() {

最後,在主,你需要實際調用你的函數你達到你的System.out行之前。
arrayCounter();

還有一些改進和錯誤處理,你可能需要做的一旦做了這些改變,但你幾乎在那裏。