Passagem de métodos


TODOS CRITICAM, MAS NINGUEM DIZ COMO É O CERTO.

public class Main
{
    public static void main(String[] args) 
    {
        Carro carro = new Carro();
        Percurso percurso = new Percurso();
        Calculo calc = new Calculo();
        float[] consumo = {0};
        calc.maiorConsumo(consumo);
    }
}
public class Carro
{
    float[] consumo = {9,2,4,14,1,5};
}

public class Calculo
{
    public void maiorConsumo(float consumo[])
    {
        System.out.println("Qual carro consome mais combústivel? " );
        if((consumo[0] + consumo[1] + consumo[2]) > (consumo[3]) + (consumo[4]) + consumo[5])
        {
            System.out.println("Carro normal " + (consumo[0] + consumo[1] + consumo[2]));
        }
        else
        {
            System.out.println("\tCarro anfíbio " + (consumo[3] + consumo[4] + consumo[5]) + " litros");
        }
    }
}

Da erro na hora de rodar, pq o q esta errado?

porque você jogou a aplicação lógica dentro da classe

classe Main {
  public static void main (String args[]) {
    if(Calculo.maiorConsumo(consumo))  
      System.out.println("teste" + consumo);  
    else
      System.out.println("OK"); 
   } // fecha o psvm (void main)
   // ... continuação da classe ...

Como é que você chama o método com as regras de negócio, via método main?

o método maiorConsumo retorna boolean??

 if(Calculo.maiorConsumo(consumo)) 

qual a intenção dessa coisa toda??

é realmente difícil tentar jogar comandos sem entender o que significam .-.

Mvrback, na linha 11 a variável consumo que você passa ao método maiorConsumo contém apenas um elemento. Acho que o que você quer é passar é o array consumo declarado na classe Carro.