Pourquoi erreur d'exécution ?

Résolu
Aminax Messages postés 88 Statut Membre -  
Aminax Messages postés 88 Statut Membre -
Bonjour ;
s'il vous plait ; pourquoi il y a une erreur d'exécution :
public class Exemple {
public static void main(String args[]) {
String str = args[1];
System.out.println(str);
}}
et merci d'avance

1 réponse

irmeche Messages postés 76 Statut Membre 17
 
c'est quoi le type de ton erreur,

je ne sais pas si tu passes en paramètre des arguments d'entrée ?

si tu passes un seul alors il faut corriger ton code et mettre

String str = args[0]; 


si tu passe deux paramètre ca doit fonctionner parce que le args[1] c le deuxième paramètre .
0
Aminax Messages postés 88 Statut Membre
 
En fait c'est un qcm ; ils ont donné ce code et avec les choix :
1 Ce programme ne se compile pas car il y a une erreur de syntaxe
2 L'exécution échoue car il y a une erreur d'exécution
3 L'exécution de ce programme affiche à l'écran la chaine de caractère passée en argument"

ils ont coché la deuxième mais je ne sais pas pourquoi ?
Merci irmeche d'avoir répondu
0
irmeche Messages postés 76 Statut Membre 17
 
comme je l'ai dit en haut:

si tu fais :

java Exemple argument1

ça va te générer une erreur d'exécution cas ton programme attend le deuxieme argument

mais si tu fais:

java Exemple argument1 argument2

ton programme fonctionne correctement et affiche argument2
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Il y avait donc deux réponses possibles !!
De toute façon les erreurs d'exécution, parfois ça marche, parfois ça ne marche pas, ça dépend de la partie dynamique de l'application. En l'occurrence ici ça dépend des paramètres d'entrées du programme, donc comme disait irmeche : 2 arguments (ou plus) ça marche, réponse 3, mais avec 0 ou 1 argument tu auras une IndexOutOfBoundsException, réponse 2.
0
Aminax Messages postés 88 Statut Membre
 
ahh là j'ai bien compris :) merci beaucoup KX et Irmeche
0