2014-12-05 149 views
-5
import java.util.Scanner; 
import java.util.Arrays; 

/** 
    This class prints the numeric value of a letter grade given by the user. 
*/ 
public class Numbers 
{ 

int countEven=0; 
int countOdd=0; 
private int[] digits; 
private int[] evenoddCount; 
Scanner input = new Scanner(System.in); 

/** 
    Constructs numbers set to 0 
    @param anEfficiency the fuel efficiency of the car 
*/ 
public Numbers() 
{ 
    digits = new int[10]; 
} 

/** 
    collects 10 numbers from user and places then into array 
    @return the gradeValue 
*/ 
public void inputArray(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j) 
{ 
    digits = {a, b, c, d, e, f, g, h, i, j}; 
} 

/** 
    counts even and odds 
    @return numeric grade 
*/ 
public void evenOdds() 
{ 
    for(int i=0; i < digits.length; i++) 
    { 
     if(digits[i]%2 == 0) 
      countEven++; 
     else 
      countOdd++; 
     evenoddCount = {countEven, countOdd}; 
    } 
} 

/** 
    prints out the array of 10 positive integers 
    @return numeric grade 
*/ 
public void printArray() 
{ 
    System.out.println(Arrays.toString(evenoddCount)); 
} 



} 






} 

代碼應該使用數組查找偶數。儘管出於某種原因,評論已經搞亂了。我似乎在第31行附近搞砸了,由於某種原因,這個程序的其餘部分幾乎搞砸了?我想我搞砸了我的聲明。偶/奇程序無法正常工作?

+1

現在告訴我們爲什麼你認爲它不能正常工作 – Baby 2014-12-05 03:43:45

+1

如果你能描述你所看到的問題 - 也就是說,與你預期的結果相比,你得到了什麼結果 - 這將使它更容易爲我們提供幫助。 – Tim 2014-12-05 03:43:59

+0

你永遠不會初始化'evenoddCount',因爲一件事:'evenoddCount = new int [2];'。 – AntonH 2014-12-05 03:44:40

回答

1

我相信問題是當你分配給數組。你這樣做:

digits = {a, b, c, d, e, f, g, h, i, j }; 

當你應該這樣做:另外的而不是分配一個新的數組evenOddCount每次

digits = new int[] {a, b, c, d, e, f, g, h, i, j}; 

,只是在迴路中增加,如:

for(int i=0; i < digits.length; i++) 
{ 
    if(digits[i]%2 == 0) 
     evenoddCount[0]++; 
    else 
     evenoddCount[1]++; 
} 

當你宣佈你evenOddCount陣列,這樣聲明:

int[] evenOddCount = {0,0};