Code simple

Fermé
rokudaime777 Messages postés 72 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 18 septembre 2013 - 18 sept. 2013 à 00:14
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 18 sept. 2013 à 07:53
Bonjour,
Je me prend la tete avec code simple que j'arrive pas à compiler
Je dois completer un programme pour faire en sorte que l'argument (int) que je met correspond au mois et que cela donne aussi le nombre de jour dans le mois

public class TestMois {

public static void main(String args[]) {
int mon_mois = Integer.parseInt(args[0]);
""Mois mon_mois = new Mois;
moisJours [] = new Mois;
moisJours[1] = ("Janvier","31");
moisJours[2] = ("Février","28");""

System.out.print("Le mois de " + moisJours[mon_mois].nom + " a ");
System.out.println(moisJours[monMois].jours + " jours");
}
}
class Mois {
String nom;
int jours;

Mois(String nom,int jours){
this.nom=nom;
thisjours=jours;
}
Ce que j'ai mis en double guillemet est de ma création (qui est completement faux), je dois compléter à cet endroit avec un bonde code pour que cela fonctionne, une explication serai plus que la bienvenue... Merci
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
18 sept. 2013 à 07:53
public class TestMois {

public static void main(String args[]) {

int mon_mois = Integer.parseInt(args[0]);

// tu ne peux pas définir deux fois "mon_mois", c'est un int, ça ne peux pas être un Mois en même temps. De plus ta classe Mois a un constructeur à deux arguments, tu ne peux donc pas écrire "new Mois" sans mettre d'argument
// Mois mon_mois = new Mois;

// ici tu déclares un tableau, mais il faut en préciser le type et la taille
Mois[] moisJours = new Mois[2];

// là tu construis un objet Mois, il te faut donc appeler le constructeur avec l'opérateur new, et respecter la signature (String, int)
moisJours[1] = new Mois("Janvier",31);
moisJours[2] = new Mois("Février",28);

// il est plus logique de mettre tout ce qui concerne la même ligne à la suite, mais ce n'est pas une erreur
System.out.println("Le mois de " + moisJours[mon_mois].nom + " a " + moisJours[monMois].jours + " jours");

}
}

// il est bon de définir une visibilité public, protected ou private aux classes, arguments, méthodes et constructeur, la valeur par défaut étant assez traître.
public class Mois {

public String nom;
public int jours;

public Mois(String nom,int jours){
this.nom=nom;

// n'oublie pas le point entre this et jours
this.jours=jours;
}

// il manque une accolade pour terminer la classe Mois
}
0