Duvida com []args no main

Gente, eu preciso de um programa que quando passado o argumento coordintes ele chame um metodo, e quando não for passado nenhum argumento, ele não chamesse esse metodo. Tô fazendo da seguinte forma:

public class teste {
    public static void main(String[] args) throws FileNotFoundException, IOException {
        if(args[1].equals("coordinates")){
            MetodosFrame mf= new MetodosFrame(true);
        }
        else{
            MetodosFrame mf= new MetodosFrame(false);
        }
        
    }

}

public class MetodosFrame  {
            public MetodosFrame(boolean draw) {
                 if(draw==true){drawCoordinates();}
    }
}

Esta certo?
Se estiver, como eu faço pra testar? Como eu passo esses argumentos pro metodo main?
Obrigada

[quote=oitathi]Gente, eu preciso de um programa que quando passado o argumento coordintes ele chame um metodo, e quando não for passado nenhum argumento, ele não chamesse esse metodo. Tô fazendo da seguinte forma:

public class teste {
    public static void main(String[] args) throws FileNotFoundException, IOException {
        if(args[1].equals("coordinates")){
            MetodosFrame mf= new MetodosFrame(true);
        }
        else{
            MetodosFrame mf= new MetodosFrame(false);
        }
        
    }

}

public class MetodosFrame  {
            public MetodosFrame(boolean draw) {
                 if(draw==true){drawCoordinates();}
    }
}

Esta certo?
Se estiver, como eu faço pra testar? Como eu passo esses argumentos pro metodo main?
Obrigada[/quote]

não, não está.

se você rodar este programa e não passar nenhum arqgumento ou passar apenas 1 (um), terá uma ArrayIndexOutOfBoundsException, porque os Arrays começam em 0 (zero).

faça:

if(args.length > 0 && args[0].equals("coordinates")){

e para executar por linha de comando, faça:

java teste coordinates

ou se estiver usando eclipse, clique com o botão direto na classe teste.java ecolha a opção Run As/Run Configurations/Java Application e no campo Program Arguments da aba Arguments digite coordinates.

e fazer…

public MetodosFrame(boolean draw) { if(draw==true){
é reduntante. é desnecessário comprar um atributo/variável boolean com true ou false. faça apenas:

public MetodosFrame(boolean draw) { if(draw){

tah! obrigado pelo toque da redundancia! mas eu fiz o qvc me falou e passei pelo netbeans nos argumentos a palavra “coordinates” entre aspas duplas e não deu certo, não compilou. apareceu erro de .ArrayIndexOutOfBoundsException. Vc sabe o pq?

fiz algumas correções no texto, dê uma olhada.

mas para não deixar a pergunta sem resposta, a exceção ocorre porque os Arrays começam em 0 (zero).

ah eh isso mesmo!!!
faltou a condição!!!
obrigada!