Exception en java

Résolu/Fermé
saidreal - 1 oct. 2005 à 13:20
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 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
A voir également:

2 réponses

agonis57 Messages postés 44 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 9 octobre 2005 1
1 oct. 2005 à 21:49
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
0
bonjour
les tableaux sont indexés de 0 à n-1 si n est la longueur du tableau,
tout simplement je veux saisir des NOMBRES à partir du clavier
et merci
je vois qlq uns font :
int x=Ineger.paresInt(args[i]); 0<=i<=args.lenght
ou
x=System.in.read() mais celà ne fonctionne pas ???
0
agonis57 Messages postés 44 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 9 octobre 2005 1
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()
	{
	}
}
0
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
0
saidreal > Anonyme
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
0
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?
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
8 nov. 2011 à 18:30
Ne te greffe pas sur une discussion résolue il y a plus de 6 ans !!!
Si tu as une exception en faisant args[0] c'est parce que args.length==0, autrement dit, tu n'as pas passé d'arguments lors de l'exécution de ton programme Java.
Regarde le tutoriel Command-Line Arguments pour voir comment s'en servir correctement.
0
Oui exactement je n'ai pas passé d'arguments lors de l'exécution de mon programme Java. Mais sincèrement j'ai pas su comment faire pour remplir le tableau args[] lors de l'exécution. peut être ça apparaît débile mais je suis débutante et je sais pas comment faire. j'ai lu le tutoriel mais j'ai pas compris grande chose.
Merci de me répondre et aider.
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
9 nov. 2011 à 11:37
Dans le tutoriel, la classe Echo lit tous les paramètres passés au programme et les affiche un à un.

java Echo Drink Hot Java
java Echo : c'est pour exécuter la classe Echo (a priori ça tu connais)
Drink correspond à args[0], de même Hot c'est args[1] et Java c'est args[2]
0
mais non je connais rien. S'il te plaît, où écrire ECHO??? peux tu m'expliquer les étapes petit à petit. qu'est ce que je dois écrire et où et comment effectuer l'éxecution????? JE me sens perdue.merci
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
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.
0