[RESOLVIDO] Problema em código simples

14 respostas
P
package teste;

public class Teste {
    public static void main(String args[]) {
        System.out.println(args[0] + " " + args[1]);
    }
}

Erro:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
	at teste.Teste.main(Teste.java:6)
Java Result: 1

Como resolver?

14 Respostas

thiagomartendal

Cara, eu não entendi o que você quis fazer com isso. Acho que ele retorna esse erro pois não existem aqueles índices do array.
O máximo que posso fazer por você é isso:

package teste;  
  
public class Teste {  
    public static void main(String args[]) {  
        try{
            System.out.println(args[0] + " " + args[1]);
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println(e.getMessage());
        }          
    }  
}
P
thiagomartendal:
Cara, eu não entendi o que você quis fazer com isso. Acho que ele retorna esse erro pois não existem aqueles índices do array. O máximo que posso fazer por você é isso:
package teste;  
  
public class Teste {  
    public static void main(String args[]) {  
        try{
            System.out.println(args[0] + " " + args[1]);
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println(e.getMessage());
        }          
    }  
}

Então eu quero fazer isso no cmd:

java Teste argumento1 argumento2

ai vai aparecer no cmd:

argumento1 argumento2

thiagomartendal

Então, para você poder fazer o reconhecimento dos argumentos, você tem que saber se exitem os seu índices no array.

Exemplo:

String[] Array = new String[2];

Array[0] = "Argumento1";

Array[1] = "Argumento2";
P
thiagomartendal:
Então, para você poder fazer o reconhecimento dos argumentos, você tem que saber se exitem os seu índices no array. Exemplo:
String[] Array = new String[2];

Array[0] = "Argumento1";

Array[1] = "Argumento2";

Mas então não quero escrever no código: argumento1 argumento2 , e sim direto no cdm :
java Teste argumento1 argumento2

thiagomartendal

O comando System.out.println(""); escreve dados no cmd.

Agora se você quer que o usuário defina o valor de alguma variável procure por JOptionPane.

thiagomartendal
System.out.println("Este dado será impresso no cmd.");
P

thiagomartendal:
System.out.println("Este dado será impresso no cmd.");

Você não entendeu, quero usar os comandos no cdm:
javac Teste.java
java Teste argumento1 argumento2

e aparecer no cmd:
argumento1 argumento2

thiagomartendal

Bom, se os argumentos estão inclusos no programa, basta você usar apenas o comando: java Teste
Então os argumentos serão compilados automaticamente

P

thiagomartendal:
Bom, se os argumentos estão inclusos no programa, basta você usar apenas o comando: java Teste
Então os argumentos serão compilados automaticamente

Não quero colocar os argumentos no código: Teste.java e sim no comando:
java Teste argumento1 argumento2

Entende???

P

Só que quando coloco este código no NetBeans dá esse erro:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at teste.Teste.main(Teste.java:6) Java Result: 1

E no cmd quando compilo dá erro támbem.

P

é tipo isso que quero fazer.

B

Olá Peixels15, primeiramente me desculpe pois ñ tinha visto as minha MP so vi hj pq recebi um email ai foi q eu lembrei de olhar.

Bom vamos lá, esta dando erro por q vc esta usando um pacote “package teste” para vc executar tem q fazer o seguinte. O seu arquivo Teste.class de esta dentro de uma pasta com o mesmo nome do pacote no seu casso “teste” dai vc da o seguinte comando no cmd

java teste.Teste argumento1 argumento2

simples assim

P

beto11:
Olá Peixels15, primeiramente me desculpe pois ñ tinha visto as minha MP so vi hj pq recebi um email ai foi q eu lembrei de olhar.

Bom vamos lá, esta dando erro por q vc esta usando um pacote “package teste” para vc executar tem q fazer o seguinte. O seu arquivo Teste.class de esta dentro de uma pasta com o mesmo nome do pacote no seu casso “teste” dai vc da o seguinte comando no cmd

java teste.Teste argumento1 argumento2

simples assim

Obrigado, me esqueci de tirar o package teste. Funcionou.

B

Não é necessário tirar o package. Quando for usar package e for compilar pelo cmd e so usar o caminho da raiz do pacote até onde esta o .classe exemplo

br.com.teste

no cmd vc colocaria:

java br.com.teste.SuaClasse

ou seja a pasta “br (a raiz)” deve ter dentro dela uma pasta “com” q por sua vez tem outra pasta “teste” onde se encontra o .class. Entao digamos que a pasta “br” esteja do “Desktop” vc direcionaria o prompt para o Desktop e digita o comando acima para executar.

Agora q já resolveu seu problema edite o topico e no inicio no nome do mesmo coloque [RESOLVIDO] por favor. Qualquer duvida tamos ai.

Criado 29 de maio de 2015
Ultima resposta 30 de mai. de 2015
Respostas 14
Participantes 3