Erro - Exception in thread main

3 respostas
C

Olá para todos!

Sou iniciante em Java, construi um algoritmo simples, porém o mesmo está apresentando a seguinte falha:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

Não estou conseguindo entender...

Segue o código para avaliação:

import java.util.Scanner;

public class Armazem {
    public static void main (String args[]) {
        
        System.out.println("------ Sistema para cálculo do lucro total de vendas ------");
        System.out.println(" ");
        
        Armazem ar = new Armazem();
        
        double valores[][];
        
        valores = ar.leiaQuantidade();
        ar.avaliaVenda(valores);
        ar.exibeDados(valores);
    }
    
    public double[][] leiaQuantidade() {
        double valores[][] = new double [1][3];
        
        Scanner input = new Scanner(System.in);
        
        System.out.println("Digite o total de quilos de cereal vendidos: ");
        valores[1][0] = input.nextDouble();
        
        return valores;
    }
    
    public void avaliaVenda(double val[][]) {
        
        if(val[1][0] > 50) {
            val[1][2] = ((val[1][0] - 50) * 2); 
        } else {            
        }
        
        val[1][1] = ((val[1][0] * 4.8) - val[1][2]);               
        val[1][3] = val[1][1] * 7;
    }
    
    public void exibeDados(double valores[][]) {
        
        System.out.println(" ");
        System.out.println("Total de kg comercializados: " + valores[1][0] + " .");
        
        if(valores[1][2] > 0) {
        System.out.println("Total da multa por descumprimento às normas do regulamento de cereais: " + valores[1][2] + " .");
        } else {
        }
        
        System.out.println("Valor total da venda: " + valores[1][1] + " .");
        System.out.println("Previsão para a semana: " + valores[1][3] + " .");
        
        System.out.println(" ");
        System.out.println("-------------------------------------------------");        
    }
}

Desde já, obrigado.

3 Respostas

mauro80

Olá…
Você está acessando um índice que não existe no array criado.
Exemplo: valores[1][3]…
O índice começa em zero e não em 1.
Abraços.

C

Muito obrigado Mauro…

Não havia prestado atenção no indíce da matriz…

Abraço

Marky.Vasconcelos

Na proxima duvida relacionada a Java crie um topico nas areas destinadas a programação como o Java Basico, Java Avançado, etc.

Criado 15 de novembro de 2008
Ultima resposta 15 de nov. de 2008
Respostas 3
Participantes 3