2017-09-01 1 views
-3

Donc, je continue d'obtenir ce message d'erreur et je n'ai aucune idée de ce que cela signifie ou comment répondre. Voici mon code. Quand je vais à un compilateur différent, je n'obtiens pas ce problème. Merci d'avance!Erreur non résolue dans main (Eclipse)

import java.math.*; 
import java.util.*; 

public class QuestionEight { 

    public QuestionEight() { 
     // TODO Auto-generated constructor stub 
    } 

    public static void main(String [] args) { 
     // TODO Auto-generated method stub 
     int[] newArr = new int[1000]; 
     for(int a = 0; a<1000; a++) { 
      newArr[a] = countNumbers(); 
     } 
     double sum = (double)sumOfArray(newArr); 
     double attempts = (double)1000; 
     System.out.println("The average is " + sum/attempts); 
    } 
    public static int countNumbers() { 
     int sum = 0; 
     int counter = 0; 
     while(sum<1) { 
      sum = Math.floor(10.0*Math.random()); 
      counter++; 
     } 
     return counter; 
    } 
    public static int sumOfArray(int[]a) { 
     int[] tempArr = new int[a.length]; 
     for(int c = 0; c<a.length; c++) 
      tempArr[c] = a[c]; 
     for(int d = 1; d<a.length; d=d+2) { 
      tempArr[d] = tempArr[d] + tempArr[d-1]; 
      if(d==tempArr.length-1) { 
       return tempArr[d]; 
      } 
     } 
     return 0; 
    } 
} 
+1

est-ce littéralement tout le texte d'erreur que vous obtenez? Aussi, c'est une façon étrange de faire un tableau ... –

+1

que voulez-vous dire exactement par "compilateur différent"? –

+0

cela fonctionne dans BlueJ. et oui, c'est essentiellement tout le texte d'erreur que j'ai –

Répondre

0

Votre code semble bien, sauf que vous pouvez changer

sum = Math.floor(10.0 * Math.random()); 

à

sum = (int) Math.floor(10.0 * Math.random()); 

depuis Math.floor renvoie une valeur de type double.