2017-02-16 76 views
2

我被賦予了一個賦值,它使我創建了3個方法來創建一個數組,打印一個數組並計算數組中所有可被10整除的數字。這是給我的最麻煩的部分是計算由10整除的號碼是代碼我到目前爲止:計數在數組中可以被10整除的數字

public int[] createArray(int size) { 

    Random rnd = new Random(); 
    int[] array = new int[size]; 

    for (int i = 0; i < array.length; i++) { 
     array[i] = rnd.nextInt(101); 
    } 
    return array; 
} 

public void printArray() { 

    Journal5a call = new Journal5a(); 
    int[] myArray = call.createArray(10); 

    for (int i = 0; i < myArray.length; i++) { 
     System.out.println(myArray[i]); 
    } 
    System.out.println("There are " + call.divideByTen(myArray[i]) + " numbers that are divisable by 10"); 
} 

public int divideByTen(int num) { 

    int count = 0; 

    if (num % 10 == 0) { 
     count++; 
    } 
    return count;   
} 

public static void main(String[] args) { 

    Journal5a call = new Journal5a(); 
    Random rnd = new Random(); 

    call.printArray(); 
} 
+1

傳入整個數組中。然後通過它循環並調用你的if條件並返回最終計數。 –

+2

傳遞完整數組,而不是單個元素 – Hemal

+0

'System.out.println(「存在」+ call.divideByTen(myArray [i])+「可被10整除的數字」);''i'超出了範圍。 –

回答

5

數組傳遞給方法,並用它來確定計數。你的算法看起來合理。喜歡的東西,

public int divideByTen(int[] nums) { 
    int count = 0; 
    for (int num : nums) { 
     if (num % 10 == 0) { 
      count++; 
     } 
    } 
    return count; 
} 

,在Java 8+,使用IntStreamfilter

return (int) IntStream.of(nums).filter(x -> x % 10 == 0).count(); 

然後你可以用printf調用它

System.out.println("There are " + call.divideByTen(myArray) 
     + " numbers that are divisible by 10"); 

並內聯像

System.out.printf("There are %d numbers that are divisible by 10.%n", 
     IntStream.of(nums).filter(x -> x % 10 == 0).count()); 
+0

另外,你可以在打印數字的循環中添加total + = call.divideByTen(myArray [i]);'然後打印total,儘管需要一個新的變量。 –

0

你可以這樣做。通過完整的數組,然後檢查除以10.爲簡單起見,跳過其他部分。

public void printArray() { 

    Journal5a call = new Journal5a(); 
    int[] myArray = call.createArray(10); 

    divideByTen(myArray); 
} 

public int divideByTen(int[] num) { 

    int count = 0; 
    for(i=0;i<num.length;i++) 
    { 
     if (num[i] % 10 == 0) { 
      count++; 
     } 
    } 
    return count;   
} 
相關問題