[java]Lecture d'une variable
Résolu/Fermé
nanouss_nanouss
Messages postés
14
Date d'inscription
dimanche 20 février 2011
Statut
Membre
Dernière intervention
12 février 2013
-
20 févr. 2011 à 13:08
nanouss_nanouss Messages postés 14 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 12 février 2013 - 23 févr. 2011 à 17:41
nanouss_nanouss Messages postés 14 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 12 février 2013 - 23 févr. 2011 à 17:41
A voir également:
- [java]Lecture d'une variable
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Confirmation de lecture whatsapp - Guide
8 réponses
Utilisateur anonyme
22 févr. 2011 à 04:34
22 févr. 2011 à 04:34
Salut,
D'abord une question:
Tu veux saisir quoi ?
Si c'est UN caractère quelconque et le convertir en char l'idée est bonne mais...
- avec char c et Scanner c ce n'est pas correct, il faut des noms (c) différents
Exemple:
Cordialement,
Dan
D'abord une question:
Tu veux saisir quoi ?
Si c'est UN caractère quelconque et le convertir en char l'idée est bonne mais...
- avec char c et Scanner c ce n'est pas correct, il faut des noms (c) différents
Exemple:
Scanner sc = new Scanner ( System.in); System.out.print("\n\nEntrez un caractere: "); try { char c = (char)System.in.read(); System.out.println("c = '" + c + "'"); } catch(Exception e) { System.out.println("Exception " + e.toString()); } devrait fonctionner... // Penser à fermer Scanner
Cordialement,
Dan
nanouss_nanouss
Messages postés
14
Date d'inscription
dimanche 20 février 2011
Statut
Membre
Dernière intervention
12 février 2013
22 févr. 2011 à 16:38
22 févr. 2011 à 16:38
Mercii pour l'aide mais ça ne fonctionne pas !!!
toujours le problème dans Scanner il n'arrive pas à la connaître!!
toujours le problème dans Scanner il n'arrive pas à la connaître!!
Utilisateur anonyme
22 févr. 2011 à 18:35
22 févr. 2011 à 18:35
Re,
As-tu importé la classe Scanner: ?
import java.util.Scanner;
Dan
As-tu importé la classe Scanner: ?
import java.util.Scanner;
Dan
nanouss_nanouss
Messages postés
14
Date d'inscription
dimanche 20 février 2011
Statut
Membre
Dernière intervention
12 février 2013
22 févr. 2011 à 20:15
22 févr. 2011 à 20:15
Ouii :)
voilà le programme:
import java.util.Scanner;
public class Test6
{
public static void main(String args[])
{
int n,a;
String nom_mois[];
int mois=Integer.parseInt(args[0]);
switch(mois)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: n=31; break;
case 4:
case 6:
case 9:
case 11: n=30; break;
case 2: {Scanner sc = new Scanner ( System.in);
System.out.println("Donner lannee courante");
try
{
a = (int)System.in.read();
System.out.println("a = '" + a + "'");
}
catch(Exception e)
{
System.out.println("Exception " + e.toString());
}
if(a%4==0)
n=29;
else n=28;
break;
}
default: n=0; break;
}
nom_mois=new String[12];
nom_mois[0]="Janvier";
nom_mois[1]="Fevrier";
nom_mois[2]="Mars";
nom_mois[3]="Avril";
nom_mois[4]="Mai";
nom_mois[5]="Juin";
nom_mois[6]="Juillet";
nom_mois[7]="Aout";
nom_mois[8]="Septembre";
nom_mois[9]="Octobre";
nom_mois[10]="Novembre";
nom_mois[11]="Decembre";
System.out.println("Le mois de "+nom_mois[Integer.parseInt(args[0])]+" a "+n+" jours");
}
}
voilà le programme:
import java.util.Scanner;
public class Test6
{
public static void main(String args[])
{
int n,a;
String nom_mois[];
int mois=Integer.parseInt(args[0]);
switch(mois)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: n=31; break;
case 4:
case 6:
case 9:
case 11: n=30; break;
case 2: {Scanner sc = new Scanner ( System.in);
System.out.println("Donner lannee courante");
try
{
a = (int)System.in.read();
System.out.println("a = '" + a + "'");
}
catch(Exception e)
{
System.out.println("Exception " + e.toString());
}
if(a%4==0)
n=29;
else n=28;
break;
}
default: n=0; break;
}
nom_mois=new String[12];
nom_mois[0]="Janvier";
nom_mois[1]="Fevrier";
nom_mois[2]="Mars";
nom_mois[3]="Avril";
nom_mois[4]="Mai";
nom_mois[5]="Juin";
nom_mois[6]="Juillet";
nom_mois[7]="Aout";
nom_mois[8]="Septembre";
nom_mois[9]="Octobre";
nom_mois[10]="Novembre";
nom_mois[11]="Decembre";
System.out.println("Le mois de "+nom_mois[Integer.parseInt(args[0])]+" a "+n+" jours");
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
Modifié par danimo le 23/02/2011 à 01:12
Modifié par danimo le 23/02/2011 à 01:12
Ok,
Mais ce code ne compile pas, pourquoi ?
Dis moi quel message d'erreur tu as car je ne voudrais pas te donner la réponse,
mais que tu la découvres toi- même...
Et si tu veux bien nous avancerons pas à pas jusqu'à ce que tu obtiennes ce que tu dois obtenir.
Mais ce code ne compile pas, pourquoi ?
Dis moi quel message d'erreur tu as car je ne voudrais pas te donner la réponse,
mais que tu la découvres toi- même...
Et si tu veux bien nous avancerons pas à pas jusqu'à ce que tu obtiennes ce que tu dois obtenir.
nanouss_nanouss
Messages postés
14
Date d'inscription
dimanche 20 février 2011
Statut
Membre
Dernière intervention
12 février 2013
23 févr. 2011 à 08:12
23 févr. 2011 à 08:12
Enfin,il a compilé
Merci énormément pour l'aide :) :)
Merci énormément pour l'aide :) :)
Utilisateur anonyme
23 févr. 2011 à 09:00
23 févr. 2011 à 09:00
Si cela t'interresse je te montres comment j'aurais fait:
Les mois 1 2 3 4 5 6 7 8 9 10 11 et 12 sont en arguments deString args[]
Ton code
Ton code devient:
Remarque:
-toute la partie switch(mois) était correcte !!!
Et cela donne (avec entrée de 2000 pour février):
Le mois de Janvier a 31 jours
Donner l'annee du mois de fevrier: 2000
Le mois de Fevrier 2000 a 29 jours
Le mois de Mars a 31 jours
Le mois de Avril a 30 jours
Le mois de Mai a 31 jours
Le mois de Juin a 30 jours
Le mois de Juillet a 31 jours
Le mois de Aout a 31 jours
Le mois de Septembre a 30 jours
Le mois de Octobre a 31 jours
Le mois de Novembre a 30 jours
Le mois de Decembre a 31 jours
Les mois 1 2 3 4 5 6 7 8 9 10 11 et 12 sont en arguments deString args[]
Ton code
import java.util.Scanner; public class Test6 { public static void main(String args[]) { int n,a; // 1ère erreur a n'est pas initialisée String nom_mois[]; int mois=Integer.parseInt(args[0]); switch(mois) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: n=31; break; case 4: case 6: case 9: case 11: n=30; break; case 2: {Scanner sc = new Scanner ( System.in); System.out.println("Donner lannee courante"); try { a = (int)System.in.read(); System.out.println("a = '" + a + "'"); } catch(Exception e) { System.out.println("Exception " + e.toString()); } if(a%4==0) n=29; else n=28; break; } default: n=0; break; } nom_mois=new String[12]; nom_mois[0]="Janvier"; nom_mois[1]="Fevrier"; nom_mois[2]="Mars"; nom_mois[3]="Avril"; nom_mois[4]="Mai"; nom_mois[5]="Juin"; nom_mois[6]="Juillet"; nom_mois[7]="Aout"; nom_mois[8]="Septembre"; nom_mois[9]="Octobre"; nom_mois[10]="Novembre"; nom_mois[11]="Decembre"; // 2ème erreur: // logiquement nous devons avoir les arguments 1 2 3 4 5 6 7 8 9 10 11 et 12 dans String args[] // sinon, il faudrait modifier tous les "case" et avoir args[] de 0 à 11. // que nous retourne Integer.parseInt(args[0]) ? 1; or nous commencons par le mois de janvier et // dans le tableau nom_mois l'index de Janvier est 0, pas 1... // nous pouvons modifier la ligne comme indiqué ci-dessous (avec -1) //System.out.println("Le mois de " + nom_mois [Integer.parseInt(args[0])]+" a "+n+" jours"); System.out.println("Le mois de " + nom_mois [Integer.parseInt(args[0]) -1]+" a "+n+" jours"); // Mais mieux puisque nous avons le mois dans... int mois System.out.println("Le mois de " + nom_mois [mois -1]+" a "+n+" jours"); // 3ème erreur: le programme termine après le 1er mois // Il faut donc créer une boucle qui permettra de traiter les autres mois. } }
Ton code devient:
import java.util.Scanner; public class Test6 { public static void main(String args[]) { String nom_mois[]; nom_mois=new String[12]; nom_mois[0]="Janvier"; nom_mois[1]="Fevrier"; nom_mois[2]="Mars"; nom_mois[3]="Avril"; nom_mois[4]="Mai"; nom_mois[5]="Juin"; nom_mois[6]="Juillet"; nom_mois[7]="Aout"; nom_mois[8]="Septembre"; nom_mois[9]="Octobre"; nom_mois[10]="Novembre"; nom_mois[11]="Decembre"; int n = 0, a = 0, mois = 0; //String nom_mois[]; for(int i = 0; i < 12; i++) { mois = Integer.parseInt(args[i]); switch(mois) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: n=31; break; case 4: case 6: case 9: case 11: n=30; break; case 2: { Scanner sc = new Scanner ( System.in); System.out.print("Donner l'annee du mois de fevrier "); try { a = (sc.nextInt()); //System.out.println("a = " + a); } catch(Exception e) { System.out.println("Exception " + e.toString()); } if(a%4==0) n=29; else n=28; break; } default: n=0; break; } // ce qui suit en commentaire est déplacé au début de la méthode main /*nom_mois=new String[12]; nom_mois[0]="Janvier"; nom_mois[1]="Fevrier"; nom_mois[2]="Mars"; nom_mois[3]="Avril"; nom_mois[4]="Mai"; nom_mois[5]="Juin"; nom_mois[6]="Juillet"; nom_mois[7]="Aout"; nom_mois[8]="Septembre"; nom_mois[9]="Octobre"; nom_mois[10]="Novembre"; nom_mois[11]="Decembre"; */ String libAnnee = ""; if(mois == 2) libAnnee = " " + Integer.toString(a); else libAnnee = ""; //System.out.println("Le mois de "+nom_mois[Integer.parseInt(args[0])]+" a "+n+" jours"); System.out.println("Le mois de " + nom_mois[mois-1] + libAnnee + " a " + n + " jours"); } } }
Remarque:
-toute la partie switch(mois) était correcte !!!
Et cela donne (avec entrée de 2000 pour février):
Le mois de Janvier a 31 jours
Donner l'annee du mois de fevrier: 2000
Le mois de Fevrier 2000 a 29 jours
Le mois de Mars a 31 jours
Le mois de Avril a 30 jours
Le mois de Mai a 31 jours
Le mois de Juin a 30 jours
Le mois de Juillet a 31 jours
Le mois de Aout a 31 jours
Le mois de Septembre a 30 jours
Le mois de Octobre a 31 jours
Le mois de Novembre a 30 jours
Le mois de Decembre a 31 jours
nanouss_nanouss
Messages postés
14
Date d'inscription
dimanche 20 février 2011
Statut
Membre
Dernière intervention
12 février 2013
23 févr. 2011 à 17:41
23 févr. 2011 à 17:41
Merci beaucoup ^^