Estou com dificuldade de entender pq o código abaixo lança uma exceção.
Não entedi direito como utilizar o array args[].
No Eclipse, como faço pra executar minha classe passando argumentos na linha de comando? Suspeito que este seja o problema.
Qualquer ajuda é bem-vinda.
Grato.
importjava.util.*;publicclassScanIn{publicstaticvoidmain(String[]args){System.out.println("input:");System.out.flush();try{Scanners=newScanner(System.in);Stringtoken;do{token=s.findInLine(args[0]);System.out.println("found"+token);}while(token!=null);}catch(Exceptione){System.out.println("Entrou no catch");}}}
importjava.util.*;publicclassScanIn{publicstaticvoidmain(String[]args){args=newString[]{"Stop"};System.out.println("input:");System.out.flush();try{Scanners=newScanner(System.in);Stringtoken;do{token=s.findInLine(args[0]);System.out.println("found"+token);}while(token!=null);}catch(Exceptione){System.out.println("Entrou no catch");}}}
Tenta agora com um valor adicionado ao array args…
qual era a exception??
rmala_ti
robinsonbsilva:
Jovem,
importjava.util.*;publicclassScanIn{publicstaticvoidmain(String[]args){args=newString[]{"Stop"};System.out.println("input:");System.out.flush();try{Scanners=newScanner(System.in);Stringtoken;do{token=s.findInLine(args[0]);System.out.println("found"+token);}while(token!=null);}catch(Exceptione){System.out.println("Entrou no catch");}}}
Tenta agora com um valor adicionado ao array args…
qual era a exception??
Obrigado robinsonbsilva, agora funcionou.
No exemplo que eu postei, na linha token = s.findInLine(args[0]); ocorre uma exceção.
Pela linha que vc adicionou args = new String[]{"Stop"};, acabei descobrindo que o array args[] não havia sido criado e por isso que a exception na verdade era ArrayIndexOutOfBoundsException.
Agora entendi perfeitamente.
Valeu mesmo pela ajuda.