web-dev-qa-db-fra.com

Comment exécuter un programme Java simple dans Eclipse?

Comme vous pouvez probablement le comprendre à la question elle-même, je suis nouveau à Java ..__ m'a été donné comme exercice d'écrire un programme Java qui reçoit un caractère, l'imprime ainsi que le prochain caractère de la table Unicode.

Maintenant, j'ai la solution à cet exercice:

public static void main(String[] args){
    char c = args[0].charAt(0);
    char c1 = (char)(c + 1);
    System.out.println(c + "\t" + c1);
}

Je comprends l'idée de base de ce code, mais j'essaie de l'exécuter dans Eclipse. Une erreur m'énerve:

Exception dans le fil "principal" Java.lang.ArrayIndexOutOfBoundsException: 0 à MainClass.main (MainClass.Java:9)

Remarque: je n'ai pas encore exécuté de programme Java qui reçoit en réalité quelque chose comme paramètre. Je suppose donc que c'est une erreur stupide pour les débutants ... Voici le code complet que j'ai essayé de compiler dans Eclipse:

public class MainClass {

    /**
     * @param args
     */

    public static void main(String[] args){
        char c = args[0].charAt(0);
        char c1 = (char)(c + 1);
        System.out.println(c + "\t" + c1);
    }
}

Merci d'avance

9
Robert777
  • Sélectionnez "Exécuter -> Exécuter les configurations" dans le menu. 
  • Recherchez votre projet dans la liste de gauche et sélectionnez-le.
  • Sélectionnez l'onglet "Arguments" à droite.
  • Écrivez l'argument que vous voulez transmettre au programme dans "Arguments du programme".
  • Cliquez sur "Exécuter"
10
alexander.egger

Faites un clic droit sur votre fichier Java dans l'explorateur de projets de votre Eclipse. Puis Exécuter en tant que> Exécuter la configuration

enter image description here Ensuite, vous aurez une fenêtre. Comme- 

enter image description here

Cliquez sur les onglets Arguments, puis écrivez du texte, il peut s'agir d'un caractère. 

Et puis cliquez sur le bouton Appliquer et le bouton Exécuter. 

6
rokonoid

La configuration d'exécution par défaut dans Eclipse exécute un programme Java sans argument, d'où la variable ArrayIndexOutOfBoundsException. Votre code tente d'obtenir le premier élément du tableau args alors qu'il n'y en a pas!

Vous pouvez modifier la configuration d'exécution pour fournir les arguments avec lesquels exécuter votre programme. Ensuite, il ne devrait pas lancer cette exception.

Cependant, une bonne pratique consiste à vérifier la taille du tableau avant d'accéder à ses éléments, surtout lorsque le tableau vient en tant qu'argument en dehors de votre code.

3
Abhinav Sarkar

C'est une excellente question avec de très bonnes réponses. Je voudrais ajouter quelques indications sur la façon de déboguer votre propre programme. Le débogage est aussi important (sinon plus important) que l'écriture de code.

D'une part, Eclipse dispose d'excellentes fonctionnalités de débogage. Vous pouvez utiliser ce débogueur pour rechercher des problèmes dans votre code. Je vous suggère d'apprendre à l'utiliser. En particulier, vous pouvez définir des contrôles pour que les variables voient quelle valeur elles ont lors de l’exécution du code.

Vous pouvez également ajouter des appels à System.out.println() pour afficher les valeurs de toutes les variables. Par exemple, l'ajout de la ligne suivante au début de votre code peut vous aider à réduire le problème:

System.out.println(args[0]);

Cela donnerait aussi une ArrayIndexOutOfBoundsException si aucun argument de ligne de commande n'est donné. Ensuite, vous pourriez faire quelque chose comme

System.out.println(args.length);

qui afficherait 0. Cela vous donne alors un indice quant à la localisation du problème.

Bien entendu, même à ce stade, il est possible que vous ne sachiez toujours pas comment résoudre le problème. C’est ici que des sites comme StackOverflow sont utiles.

Bonne chance avec votre expérience Java. Revenez s'il vous plaît lorsque vous avez besoin de plus d'aide.

0
Code-Apprentice

Si vos configurations d'exécution sont en place (comme déjà indiqué dans les réponses ci-dessus):

Le raccourci pour exécuter une classe est:

Ctrl + F11

0
Virtual