Java - Problème de modulo dans un exercice ..
Résolu/Fermé
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
-
22 août 2008 à 12:16
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 19 oct. 2008 à 22:51
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 19 oct. 2008 à 22:51
A voir également:
- Java - Problème de modulo dans un exercice ..
- 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
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
14 réponses
neofenix
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
2
22 août 2008 à 12:20
22 août 2008 à 12:20
else (chiffre1%4!=0)
il te manque ton second if ou alors tu me mets pas de condition:
il te manque ton second if ou alors tu me mets pas de condition:
else if (chiffre1%4!=0) System.out.print("non"); ou alors else System.out.print("non");
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 12:24
22 août 2008 à 12:24
En effet c'est mieux mais il y a toujours une erreur sur ma variable chiffre1:
line 5 variable chiffre1 might not have been initialezed
chiffre1=Clavierclass.lireInt (chiffre1);
line 5 variable chiffre1 might not have been initialezed
chiffre1=Clavierclass.lireInt (chiffre1);
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 12:26
22 août 2008 à 12:26
J'ai l'impression qu'il me demande de définir ma variable chiffre1, mais le truc c'est qu'elle dépend de ce qui est saisi au clavier ...
neofenix
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
2
22 août 2008 à 12:27
22 août 2008 à 12:27
euh dans ton lien i = Clavier.lireInt();
et toi tu fais chiffre1=Clavierclass.lireInt (chiffre1);
ca ne serais pas mieux chiffre1=Clavierclass.lireInt (); ??
et toi tu fais chiffre1=Clavierclass.lireInt (chiffre1);
ca ne serais pas mieux chiffre1=Clavierclass.lireInt (); ??
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 12:32
22 août 2008 à 12:32
Il y a toujours une erreur à la ligne 5, mais cette fois c'est avec le lireInt:
lireInt () in Clavierclass cannot be applied to ()
chiffre1=Clavierclass.lireInt ();
il faut définir la variable à lire... non?
lireInt () in Clavierclass cannot be applied to ()
chiffre1=Clavierclass.lireInt ();
il faut définir la variable à lire... non?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
neofenix
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
2
22 août 2008 à 12:34
22 août 2008 à 12:34
normalement non enfin ca depend de ta classe.
mais je ne sais plus si java respecte la casse
chiffre1=Clavierclass.lireInt (); essaye sans espace entre la fonction et tes parentheses
ne prend rien en parametres: http://www.u-picardie.fr/~ferment/java/prog/doc/Clavier.html#lireInt()
sinon essaye de voir au niveau de ta fonction si lireInt() sans parametres existe
mais je ne sais plus si java respecte la casse
chiffre1=Clavierclass.lireInt (); essaye sans espace entre la fonction et tes parentheses
ne prend rien en parametres: http://www.u-picardie.fr/~ferment/java/prog/doc/Clavier.html#lireInt()
sinon essaye de voir au niveau de ta fonction si lireInt() sans parametres existe
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 12:38
22 août 2008 à 12:38
idem, il n'y avait pas d'espace entre la fonction et les parenthèses ...
J'ai trouvé une correction de l'exo (sur un autre site), et lui utilise une méthode différente:
import fr.jussieu.script.*;
public class Bissextile{
public static void main(String [] st){
Deug.print("Entrez une annee : ");
int a=Deug.readInt();
if ((a%4==0)&&((a%100!=0)||(a%400==0)))
Deug.println("L'annee "+a+" est bissextile");
else Deug.println("L'annee "+a+" n'est pas bissextile");
}
}
--------------------------------------------------------------------------------------------
Ce qui m'échappe c'est la ligne 6:
int a=Deug.readInt();
Avec mon code la méthode readInt() ne fonctionne pas (le code non plus d'ailleurs), mais si çà peut donner des pistes...
J'ai trouvé une correction de l'exo (sur un autre site), et lui utilise une méthode différente:
import fr.jussieu.script.*;
public class Bissextile{
public static void main(String [] st){
Deug.print("Entrez une annee : ");
int a=Deug.readInt();
if ((a%4==0)&&((a%100!=0)||(a%400==0)))
Deug.println("L'annee "+a+" est bissextile");
else Deug.println("L'annee "+a+" n'est pas bissextile");
}
}
--------------------------------------------------------------------------------------------
Ce qui m'échappe c'est la ligne 6:
int a=Deug.readInt();
Avec mon code la méthode readInt() ne fonctionne pas (le code non plus d'ailleurs), mais si çà peut donner des pistes...
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 12:41
22 août 2008 à 12:41
Il y a aussi la ligne 4:
public static void main(String [] st){
C'est le (String [] st){ qui m'intrigue...
C'est quoi le st ?
public static void main(String [] st){
C'est le (String [] st){ qui m'intrigue...
C'est quoi le st ?
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 13:31
22 août 2008 à 13:31
Voila comment est définie la classe lireInt dans Clavierclass.java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public final class Clavierclass {
public static int lireInt(int chiffre) {
if (st == null)
read();
while (! st.hasMoreTokens())
read();
String ss = st.nextToken();
int i = Integer.parseInt(ss);
return(i);
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public final class Clavierclass {
public static int lireInt(int chiffre) {
if (st == null)
read();
while (! st.hasMoreTokens())
read();
String ss = st.nextToken();
int i = Integer.parseInt(ss);
return(i);
}
}
neofenix
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
2
22 août 2008 à 13:58
22 août 2008 à 13:58
ta classe
public final class Clavierclass {
si tu regardes lireInt tu remarqueras que tu ne te sers jamais de chiffre donc change ton code comme ceci
public final class Clavierclass {
public static int lireInt(int chiffre) { if (st == null) read(); while (! st.hasMoreTokens()) read(); String ss = st.nextToken(); int i = Integer.parseInt(ss); return(i); } }
si tu regardes lireInt tu remarqueras que tu ne te sers jamais de chiffre donc change ton code comme ceci
public static int lireInt() { if (st == null) read(); while (! st.hasMoreTokens()) read(); String ss = st.nextToken(); int i = Integer.parseInt(ss); return(i); } }
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 14:14
22 août 2008 à 14:14
Du coup j'ai ce message d'erreur:
lireInt() in Clavierclass cannot be applied to (int)
chiffre1=Clavierclass.lireInt(chiffre1);
le point entre Clavierclass et lireInt et pointé avec un marqueur ...
lireInt() in Clavierclass cannot be applied to (int)
chiffre1=Clavierclass.lireInt(chiffre1);
le point entre Clavierclass et lireInt et pointé avec un marqueur ...
neofenix
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
2
22 août 2008 à 14:15
22 août 2008 à 14:15
bah oui il ne prend plus rien en argument maintenant
chiffre1=Clavierclass.lireInt();
chiffre1=Clavierclass.lireInt();
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
22 août 2008 à 14:19
22 août 2008 à 14:19
OK !!! c'est bon je viens de corriger, de compiler et de tester et çà marche!
Merci à toi Néofénix ... je pataugeai dans le semoule, mais bon c'est le début...
Merci à toi Néofénix ... je pataugeai dans le semoule, mais bon c'est le début...
neofenix
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
2
22 août 2008 à 14:20
22 août 2008 à 14:20
pas de probleme bonne suite d'apprentissage a toi
artragis
Messages postés
481
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
6 avril 2010
146
22 août 2008 à 19:43
22 août 2008 à 19:43
if (chiffre1%4==0) { System.out.print("oui"); } else { System.out.print("non"); }
c'est surtout des erreur de synthaxe
==> tu as oublié les crochets, je rappelle if(condition){instructions}
==>else n'est pas conditionné, en somme tu as vérifié que ton modulo était 0 s'il ne l'est pas ça passe à else, donc pas besoin de condition et synthaxe else{instructions} voila
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
25 août 2008 à 09:14
25 août 2008 à 09:14
Salut Atragis,
Tout d’abord merci de te réponse … Dans les tutoriels que j’ai vu, il est expliqué que les accolades peuvent devenir facultatives. De plus Eclipse compile le code sans accolades …
Voila un exemple, qui demande à un utilisateur de rentrer un nombre réel (qui peut être soit négatif, soit nul, soit positif) :
int i = 10;
if (i < 0)
System.out.println("Le nombre est négatif");
else
System.out.println("Le nombre est positif");
Source : https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java?archived-source=26832#ss_part_2
Par contre pour le Else, il était impossible d’écrire un Else « simple », il fallait nécessairement écrire « Else if », pourquoi je ne sais pas trop, mais bon…
Tout d’abord merci de te réponse … Dans les tutoriels que j’ai vu, il est expliqué que les accolades peuvent devenir facultatives. De plus Eclipse compile le code sans accolades …
Voila un exemple, qui demande à un utilisateur de rentrer un nombre réel (qui peut être soit négatif, soit nul, soit positif) :
int i = 10;
if (i < 0)
System.out.println("Le nombre est négatif");
else
System.out.println("Le nombre est positif");
Source : https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java?archived-source=26832#ss_part_2
Par contre pour le Else, il était impossible d’écrire un Else « simple », il fallait nécessairement écrire « Else if », pourquoi je ne sais pas trop, mais bon…
artragis
Messages postés
481
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
6 avril 2010
146
25 août 2008 à 11:00
25 août 2008 à 11:00
Tu ne pouvais apparament pas mettre de else "simple" car tu avais demandé de vérifier quelque chose après
sinon pour moi éclipse me demande des crochet
he et aussi je crois que la place de ton "!" n'est pas bonne
par exemple si modulo(tonnommbre, 400) n'est pas égal à 0 ça s'écrit
if !(tonnombre%400==0){instructions}
sinon pour moi éclipse me demande des crochet
he et aussi je crois que la place de ton "!" n'est pas bonne
par exemple si modulo(tonnommbre, 400) n'est pas égal à 0 ça s'écrit
if !(tonnombre%400==0){instructions}
pives
Messages postés
427
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2015
32
25 août 2008 à 11:32
25 août 2008 à 11:32
En fait je ne maitrise pas encore bien les conditions, je me suis donc inspiré d'une correction du même exo:
if ((a%4==0)&&((a%100!=0)||(a%400==0)))
Source: http://www.liafa.jussieu.fr/~picantin/IF121/Bissextile.java
J'ai aussi bien galèré avec les entrées claviers en important une classe créée par un développeur ... je me suis rendu après qu'il existait l'outil scanner, et cela s'est avéré beaucoup plus simple ... Je découvre seulement le Java, mais j'hallucine déjà du potentiel ... pas étonnant qu'il existe autant de docs, de tutos, d'applis, de forums ...
Java Rule the World !!
if ((a%4==0)&&((a%100!=0)||(a%400==0)))
Source: http://www.liafa.jussieu.fr/~picantin/IF121/Bissextile.java
J'ai aussi bien galèré avec les entrées claviers en important une classe créée par un développeur ... je me suis rendu après qu'il existait l'outil scanner, et cela s'est avéré beaucoup plus simple ... Je découvre seulement le Java, mais j'hallucine déjà du potentiel ... pas étonnant qu'il existe autant de docs, de tutos, d'applis, de forums ...
Java Rule the World !!
merci d'avance
Exercice : ecrire une classe mot et une extention de cette classe
1)on souhaite ecrire une classe mot ayant un seule attribut de type de chaine de caractere on souhaite pouvoir instancier un mot à partir du chaine de caractere d’1 tableau de caractere ou d’1 mot le mot devra etre stocke en minuscule
2)la classe doit fornir les methodes suivants une methode <compareto > ki compare 2 mots en utilisant l’ordre l’enikographikequi return(-1)=>(1) il ne faut pa utulise la metohde compareto de la classe string
Mot m=new mot(‘’ java ‘’) ;
m.compareto(mot) ;
return -1 si mot est apres la chaine de java ds l’ordre enekographike
return 1 si mot avant java ds l’ordre exkografike 0 si il sont egaux
3)surcharge la methode compareto pr kil puisse comparer le mot contenu ds l’instance et un mot contenu ds une chaine de caractere ou d’1 tableau de caractere
4)une methode affiche
Exemple :m.affiche()
resultat de la methode est d’afficher java entourer d’etoile
5)surcharge la metohde affiche ki puisse utiliser un caractere ke l’etoile
Exercice : ecrire une classe mot et une extention de cette classe
1)on souhaite ecrire une classe mot ayant un seule attribut de type de chaine de caractere on souhaite pouvoir instancier un mot à partir du chaine de caractere d’1 tableau de caractere ou d’1 mot le mot devra etre stocke en minuscule
2)la classe doit fornir les methodes suivants une methode <compareto > ki compare 2 mots en utilisant l’ordre l’enikographikequi return(-1)=>(1) il ne faut pa utulise la metohde compareto de la classe string
Mot m=new mot(‘’ java ‘’) ;
m.compareto(mot) ;
return -1 si mot est apres la chaine de java ds l’ordre enekographike
return 1 si mot avant java ds l’ordre exkografike 0 si il sont egaux
3)surcharge la methode compareto pr kil puisse comparer le mot contenu ds l’instance et un mot contenu ds une chaine de caractere ou d’1 tableau de caractere
4)une methode affiche
Exemple :m.affiche()
resultat de la methode est d’afficher java entourer d’etoile
5)surcharge la metohde affiche ki puisse utiliser un caractere ke l’etoile
guillaume_74
Messages postés
111
Date d'inscription
samedi 18 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
22
19 oct. 2008 à 22:51
19 oct. 2008 à 22:51
Java est un langage objet, la plupart du temps, les variables (attributs) sont utilisés dans des classes, donc initialisé avec des constructeurs!!
s'il te dit qu'elle doit être initialisé... initialise la! ^^
genre: int var=0;
ou String bob=null;
selon tes variables
s'il te dit qu'elle doit être initialisé... initialise la! ^^
genre: int var=0;
ou String bob=null;
selon tes variables