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.
import java.util.*;
public class ScanIn {
public static void main(String [] args){
System.out.println("input:");
System.out.flush();
try{
Scanner s = new Scanner(System.in);
String token;
do{
token = s.findInLine(args[0]);
System.out.println("found" + token);
}while(token != null);
}catch(Exception e){System.out.println("Entrou no catch");}
}
}
Jovem,
import java.util.*;
public class ScanIn {
public static void main(String [] args){
args = new String[]{"Stop"};
System.out.println("input:");
System.out.flush();
try{
Scanner s = new Scanner(System.in);
String token;
do{
token = s.findInLine(args[0]);
System.out.println("found" + token);
}while(token != null);
}catch(Exception e){System.out.println("Entrou no catch");}
}
}
Tenta agora com um valor adicionado ao array args…
qual era a exception??
[quote=robinsonbsilva]Jovem,
import java.util.*;
public class ScanIn {
public static void main(String [] args){
args = new String[]{"Stop"};
System.out.println("input:");
System.out.flush();
try{
Scanner s = new Scanner(System.in);
String token;
do{
token = s.findInLine(args[0]);
System.out.println("found" + token);
}while(token != null);
}catch(Exception e){System.out.println("Entrou no catch");}
}
}
Tenta agora com um valor adicionado ao array args…
qual era a exception??[/quote]
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.
Grato.