2015-11-08 4 views
-1

Почему этот код не так? btw i'm kinda newПочему ошибка компиляции: «незаконный старт типа public static double»?

import java.util.*; 

public class exercicio6_5 { 
    public static Scanner sc= new Scanner (System.in); 

    public static void main (String args[]) { 
     double a[]=new double [sc.nextInt()]; 
     double val; 
     int i=0; 
     do 
     { 
      System.out.println("Valor real: "); 
      val=sc.nextDouble(); 
      a[i]=val; 
      i++; 
     } 
      while (i<a.length); 
      System.out.println("A media é: " + media(a,i)); 


     } 
     public static double media(int [a], int i) 
     { 
      int soma=0; 
      int x=0; 
      double med; 
      do 
      { 
       soma=soma+a[x]; 
       x++; 
      } 
      while (x<i); 
      med=soma/i; 
      return media; 
     } 


} 

Ошибка компилятора «незаконный старт типа public static double» why?

+2

Вы должны хотя бы предоставить дополнительную информацию о том, что ожидается, и о том, что фактический результат. – hotzst

+0

'... media (int [a], ..)' неверен. Установите флажок [Передача информации в метод] (https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html). – sam

+0

Я просто спрашиваю, почему существует ошибка, если я компилирую – Salgado

ответ

0
public static double media(int [a], int i) 

это должно быть

public static double media(int[] a, int i) 
+0

Не полный ответ ... попробуйте и скомпилируйте себя. – JClassic

2

У вас есть метод public static double media(int [a], int i), это должно быть public static double media(double[] a, int i), так как вы вводите двойной массив не является целочисленным массивом.

Также int soma = 0 должен быть double soma = 0, потому что вы не пытаетесь добавить целочисленные значения, вместо того, чтобы пытаться добавить двойные значения.

Также return media должен быть return med, так как это переменная, которую вы создали.

0

Спасибо всем за ответы, программа работает нормально. В конце концов я кое-что изменил, поэтому это было немного беспорядочно с med/media и int/double, но главной проблемой было размещение медиа (int a [], ...), еще раз спасибо за быстрые ответы.

Смежные вопросы