Erro ao executar

5 respostas
Tiago_Transltr

Bom é o seguinte, eu uso o NetBeans 6.1, nele aparece tudo certo... só que ao executar o programa e chegar em um certo ponto.. o programa é encerrado antes do final...

package escrevanome;

import javax.swing.JOptionPane;// abrindo a pacote javax.swing

public class Main {

    public static void main(String[] args) {
    

String dados[][] = new String[9][3];      
int a=1;        
        
do{

for (int i=1;i !=4;i++){

    if (i == 1)
    dados[a][1] = JOptionPane.showInputDialog("Digite o código da empresa: ");
   
    if (i == 2)   
    dados[a][2] = JOptionPane.showInputDialog("Digite o número de funcionários: ");
    
    if (i == 3)
    dados[a][3] =JOptionPane.showInputDialog("Digite o porte da empresa:           (P, M ou G)");
   
    } 

a = a+1;

}

while (a > 4);

}
}

o erro é o seguinte: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at escrevanome.Main.main(Main.java:24)
Java Result: 1

Quando eu digito a tipo da empresa (linha 24) o programa é encerrado e aparece o erro a cima...

Onde esta errado?

5 Respostas

T

Um array com 3 posições (tal como você declarou [3] ) só aceita as posições 0, 1 e 2, pois elas começam a partir do zero.

Se quiser, pode declarar com uma posição a mais e deixar a posição 0 sem uso.

ajfilho

Teste assim:

import javax.swing.JOptionPane;// abrindo a pacote
javax.swing


public class Main {

    public static void main(String[] args) {
        String dados[][] = new String[9][3];
        int a = 1;
        do {
            for (int i = 1; i != 4; i++) {
                if (i == 1) {
                    dados[a][0] = JOptionPane.showInputDialog("Digite o código da empresa: ");
                }
                if (i == 2) {
                    dados[a][1] = JOptionPane.showInputDialog("Digite o número de funcionários: ");
                }
                if (i == 3) {
                    dados[a][2] = JOptionPane.showInputDialog("Digite o porte da empresa:           (P, M ou G)");
                }
            }
            a = a + 1;
        } while (a > 4);
    }
}

Abraços!

Tiago_Transltr

As duas formas dão certo… valew ai pessoal…

Alguma dica de como eu faço pra o programa escolher o que tem mais funcionarios de cada tipo (P,M e G) ?

jingle

(OFF) ba desculpa pelo off… mas agora fiquei curioso, onde todo mundo consegue esses avatar com desenho da pessoa?

Tiago_Transltr

Não entendi… OFF?

o avatar é em: http://www.faceyourmanga.it/faceyourmanga.php?lang=eng

Criado 18 de dezembro de 2008
Ultima resposta 18 de dez. de 2008
Respostas 5
Participantes 4