Posez votre question Signaler

Exception en java [Résolu]

saidreal - Dernière réponse le 9 nov. 2011 à 12:57
bonjour

svp j'ai un problème lorsque je veux exécuter mon code java contenant l'instruction:
int x=Integer.parseInt(args[0]);
il me leve une exception: Exception Thread java"main java.lang.Array.IndexOutOfBoundsException: 0
je veux saisir par le clavier des données numérique aprés : System.out.println("donner x"); ou par une autre méthode si vous la connaissez.
je pense que la CLASSPATH est mal configuréee (comment svp?)
j'ai Windows XP.
merci de votre aide
Lire la suite 

Exception en java »

13 réponses
Réponse
+0
moins plus
ton exception n'a rien a voir avec le classpath. indexoutofbounds veut dire ce qu'il dit, tu as passé un mauvais index.

les tableaux en Java sont numérotés à partir de 1, à moins que je me trompe complètement.

Ce qui est sûr c'est que ca n'a rien a voir avec ton classpath
agonis57 - 2 oct. 2005 à 14:39
ok autant pour moi alors, j'avais bien un doute sur ce que je t'ai dit.

bon j'ai tapé les quelques lignes de codes, et c'est tout simple :

la vaiable args n'est pas forcément instanciée. si tu ne passe pas de paramètre a ton appel à l'exécutable java, args[0] n'existe pas.

il faut protéger cet appel par un test sur args.length.

voila un exemple type :


import java.util.*;

public class test
{
	public static void main(String[] args)
	{
		test t = new test();
		if(args.length >= 1)
		{
			int x=Integer.parseInt(args[0]);
			System.out.println(x);
		}
	}
	
	test()
	{
	}
}
Anonyme - 14 sept. 2009 à 17:03
Bonjour


une autre solution à ton problème

par ici :

[url="http://www.world-prog.com/modules/newbbex/viewtopic.php?topic_id=128&forum=1"] Problèmes et solutions java /url

salut
saidreal - 15 sept. 2009 à 02:50
merci mon ami pour votre contribution,
1/ j'ai rien trouvé dans le lien que vous avez saisi .
2/ votre réponse est venue trop tardive (4 ans de retard) mais merci une 2eme fois
3/ j'ai trouvé la solution: il suffit de saisir les paramètres dans leurs emplacements adéquats.
bonne nuit
Ajouter un commentaire
Réponse
+0
moins plus
J'ai essayé de faire comme vous avec précisé c'est à dire j'ai instancié un objet de la classe mais quand j'écris args[0], une exception persiste. quoi faire?
KX - 9 nov. 2011 à 12:17
Si tu as une exception qui apparaît dans ton programme, c'est bien que tu as compilé et exécuté ta classe non ? Comment tu as fait ?
Ici tu as une classe Echo dans un fichier Echo.java, que tu compiles pour te donner un fichier Echo.class et c'est ce fichier Echo.class que tu exécutes en appelant la commande java Echo
Si ton programme s'appelle autrement tu changes Echo par le nom de ta classe, moi je n'ai fait que reprendre l'exemple du tutoriel d'Oracle que je t'ai donné hier.
Rahma - 9 nov. 2011 à 12:27
Oui j'ai executé et j'ai eu une exception c'est vrai, je sais comment executer un programme en java. le problème que la classe Echo fournie dans le tutoriel contient une méthode main dans dans mon projet il y a deux classe ayant chacune une méthode main ce qui n'est pas normal. S'il te plait fais moi un exemple de A à Z j'ouvre un projet sous eclipse et puis qu'est ce que j'ecris exactement et combien de classe effectuer et où faire l'appel. je sais que ma question est débile mais je trouve pas de solution à mon problème.
KX - 9 nov. 2011 à 12:57
Le fait d'avoir deux main n'est pas problématique, lorsque tu lances le programme tu lui précises quelle est ta classe principale. Toi ton problème est plutôt que tu utilises Eclipse sans savoir tout ce qui se cache derrière... Alors, je ne vais pas tout expliquer de A à Z, il y a déjà plein de sites qui ont des tutoriels très bien fait, il te suffit de chercher sur Google.

Pour résoudre ton problème il te faut, aller dans Run > Run configurations
Dans l'onglet Main, tu précises le nom de ton projet (en ligne de commande cela revient à te déplacer à l'emplacement du répertoire bin de ton projet), et le nom d'une classe qui a une méthode main (ce qui correspond à faire java LeNomDeLaClasse en ligne de commande). Ensuite tu vas dans l'onglet Arguments, et tu remplis dans la case Program arguments les différentes valeurs args[i] en les séparant par des espaces. Tu n'as plus qu'à cliquer sur Run...

Remarque : si tu veux faire une autre configuration, par exemple pour lancer la deuxième classe de ton projet tu fais tout simplement "New launch configuration" en haut à gauche, et tu recommences.
Ajouter un commentaire
Ce document intitulé « exception en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook