2016-09-29 1 views
0

Je me demande s'il y a une façon d'appeler une fonction de classe en utilisant les principaux args [] au lieu d'avoir comme ce qui suit:Comment utiliser les principaux args [] pour appeler des méthodes en Java

public class Test { 

public static void main(String[] args) { 

    String choice=""; 
    System.in(choice); 

    if (choice.contains("1")) 
    { 
     Item item = new Item(); 
     item.function(); 
    } 
    else 
    { 
     Item2 item2 = new Item2(); 
     item2.function2(); 
    } 


    } 

} 

et ont quelque chose comme:

-a calls the x function 
-b calls the y function 
+1

'if (args [0] equals ("a"))'? – SomeJavaGuy

+0

Oui il y a un moyen ... Appelez simplement votre programme passant dans le 'args' et vérifiez si le paramètre est' a' ou 'b' puis appelez la méthode comme vous le faites. – brso05

+1

Jetez un coup d'œil sur [Apache Commons CLI] (https://commons.apache.org/proper/commons-cli/) ce qui devrait faciliter la mise en œuvre. – Thomas

Répondre

1

Dans une méthode principale args est un tableau contenant les arguments passés à votre programme, vous pouvez accéder à ses éléments par index comme tout autre tableau Java.

Voici ce que vous devez faire:

if (args[0].contains("a")){ 
    Item item = new Item(); 
    item.function(); 
} 
else if(args[0].contains("b")){ 
    Item2 item2 = new Item2(); 
    item2.function2(); 
} 
+0

ok mais arrive si elle ressemble à "-a xx"? –

+0

@DimitriosSria J'ai mis à jour la réponse. –

+0

je veux dire au cas où vous devez entrer un autre argument –

2
public static void main(String[] args) { 

    String choice=args[0]; 
    if (choice.equals("a")) { 
     Item item =mFinal.new Item(); 
     item.function(); 
    }else{ 
     Item2 item2 =mFinal.new Item2(); 
     item2.function2(); 
    } 
    } 
+0

a travaillé aussi bien merci! –