Problema na inicialização do main String[] args

3 respostas
programaçãojava
H

Inicializo meu main pelo prompt de comando java -jar qp.jar "testes.txt -h"
Sei que se eu pegar args[0] irá aparecer a string:
testes.txt -h
Mas quando eu coloco args[0] como parametro de um método, não funciona. Mas se eu instanciar dentro do main (sem inicializar o main), e passar a string “testes.txt -h” como parâmetro do método, funciona.

3 Respostas

P

ola

eu nao entendi o que vc quis dizer com inicializar o main, instanciar, etc. dê exemplos?

H

public static void main(String[] args) {

if("h".equals(args[0]))
    ......
else
    ......

}

Seria instanciar sim, pelo prompt de comando para executar o código
java -jar nomeDoArquivo.jar “aqui coloco o parametro do main em string”

Acontece que o args[0] era pra ter a frase que digitei (instanciação), mas parece que isso não acontece, pois não consigo comparar ele com um if.

Exemplo:
NO PROMPT DE COMANDO: java -jar nomeDoArquivo.jar “oi”

EM MEU CÓDIGO:

public static void main(Static[] args) {

if(“oi”.equals(args[0]) {

return 0;

} else {

return 1;

}

}

E daí meu código retorna 1, mas era pra retornar 0 pois o if é verdadeiro.

P

deveria funcionar, veja meu exemplo:

class Hello {
   public static void main(String[] a) {
      System.out.println("Hello world!"); 	
      System.out.println("a.length: " + a.length); 	
      System.out.println("a[0]= '" + a[0] + "'"); 	
   }
}

executando

$ java -jar hello.jar 'oi'
Hello world!
a.length: 1
a[0]= 'oi'

experimente imprimir o args[0] no seu caso.

Criado 27 de novembro de 2016
Ultima resposta 28 de nov. de 2016
Respostas 3
Participantes 2