Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Java - Problème de modulo dans un exercice ..

pives, le vendredi 22 août 2008 à 12:16:33
Salut,

je découvre la Java à petit pas, et pour cela je m'exerce sur des tutoriels en ligne. J'ai trouvé un exercice assez courant qui consiste à écrire un programme qui saisit une année et qui vérifie si celle-ci est bissextile (Un nombre représente une année bissextile s'il est divisible par 4). Lors de la compilation j'ai 2 erreurs détectées dans mon code:

line9: not a statement
else (chiffre1%4!==0)

line10: ';' expected
System.out.print("non");

--------------------------------------------------------------------------------
nb: pour la saisie au clavier j'ai trouvé un code déjà écrit (Clavier.java renommé dans le mien Clavierclass)...
http://www.u-picardie.fr/~ferment/java/cours/chap01_d.html
--------------------------------------------------------------------------------
Voila mon code (je suis sous Eclipse au fait):

public class exemple {
public static void main(String[] args) {
int chiffre1;
System.out.print("donnez une annee...");
chiffre1= Clavierclass.lireInt(chiffre1);

if (chiffre1%4==0)
System.out.print("oui");
else (chiffre1%4!=0)
System.out.print("non");


}

}

------------------------------------------------------------------------------

J'avoue avoir cherché mes erreurs, mais là je cale ... Si quelqu'un peut m'aider ce serait cool ... merci d'avance Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Configuration: Windows XP
Firefox 2.0.0.16
Répondre à pives  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
neofenix, le vendredi 22 août 2008 à 12:20:18
else (chiffre1%4!=0)

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");  
Répondre à neofenix

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 12:24:38
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);

Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 12:26:50
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 ... Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
neofenix, le vendredi 22 août 2008 à 12:27:33
euh dans ton lien i = Clavier.lireInt();

et toi tu fais chiffre1=Clavierclass.lireInt (chiffre1);

ca ne serais pas mieux chiffre1=Clavierclass.lireInt (); ??
Répondre à neofenix

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 12:32:35
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? Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
neofenix, le vendredi 22 août 2008 à 12:34:05
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
Répondre à neofenix

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 12:38:52
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...



Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

8


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 12:41:35
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 ? Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

9


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 13:31:11
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);
}
} Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

10


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
neofenix, le vendredi 22 août 2008 à 13:58:26
ta classe
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);
}
} 
Répondre à neofenix

11


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 14:14:39
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 ...
Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

12


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
neofenix, le vendredi 22 août 2008 à 14:15:54
bah oui il ne prend plus rien en argument maintenant

chiffre1=Clavierclass.lireInt();
Répondre à neofenix

13


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le vendredi 22 août 2008 à 14:19:47
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... Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

14


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
neofenix, le vendredi 22 août 2008 à 14:20:42
pas de probleme bonne suite d'apprentissage a toi
Répondre à neofenix

15


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
artragis, le vendredi 22 août 2008 à 19:43:46
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
Répondre à artragis

16


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le lundi 25 août 2008 à 09:14:03
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 : http://www.siteduzero.com/tutoriel-3-10296-0-les-conditions.html#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…
Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

17


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
artragis, le lundi 25 août 2008 à 11:00:18
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}
Répondre à artragis

18


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
pives, le lundi 25 août 2008 à 11:32:04
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 !! Proverbe Chinois: celui qui pose une question est bête 2 minutes, celui qui ne la pose pas est bête toute sa vie ...
Répondre à pives

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mahis, le dimanche 19 octobre 2008 à 15:05:49
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
Répondre à mahis

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 guillaume_74, le dimanche 19 octobre 2008 à 22:51:59
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
Répondre à guillaume_74

Résultats pour Java Problème de modulo dans un exercice ..

[exercice sur java] (Résolu) bonsoir a tous svp j'ai un probleme je vous demande de bien vouloir m'aider pour resoudre mon probleme ( je ss un etudiant qui etudie java ) je vous donne mes exercices et je souhaite de recevoir une reponse favorable merci!! Saisir un nom... www.commentcamarche.net/forum/affich-2678567-exercice-sur-java
Exercice en javascript (Résolu) Bonjour, j'aimerai avoir la résolution de l'exercice suivant en javascript : si on écrit les entiers de 1 à 365, combien de fois apparait le chiffre 3 ? www.commentcamarche.net/forum/affich-4741536-exercice-en-javascript
Quelle est la solution de cette exercice (Résolu) Bonjour, quelle est la solution de cette exercice en java script en utilisant les formulaires et les fonctions :quel est le prix de trois produits dont leurs quantités el leurs prix unitaire fournis en entrées et quel est leurs total TTC www.commentcamarche.net/forum/affich-4467932-quelle-est-la-solution-de-cette-exercice

Résultats pour Java Problème de modulo dans un exercice ..

Exercice assembleur x86 nombre premierIntroduction Notions abordées dans cet exercice Enoncé Rappel Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un assembleur... www.commentcamarche.net/faq/sujet-9863-exercice-assembleur-x86-nombre-premier
[Firefox] plugin Java Jre de SunA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes... www.commentcamarche.net/faq/sujet-1824-firefox-plugin-java-jre-de-sun
Installer Java sous UbuntuPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ... www.commentcamarche.net/faq/sujet-5400-installer-java-sous-ubuntu

Résultats pour Java Problème de modulo dans un exercice ..

Prog java // while expected// (Résolu)salut a tous le monde j'espere que vous allez bien apres compilation de ce programme en java il me donne *.java:23: while expected* alors j'ai pas trouve la faute le prog : import java .io.*; public class Tri { public static void... www.commentcamarche.net/forum/affich-5328341-prog-java-while-expected
[JAVA] impossible d'executer une fonction. (Résolu)Bonjour à toute la communauté, J'ai un énorme problème en JAVA. J'ai un exercice à faire. Je dois lire une base ACCESS contenant une table (jour, mois, volume) et faire une applet qui dessine un graphique indiquant le volume pour un mois... www.commentcamarche.net/forum/affich-5049195-java-impossible-d-executer-une-fonction
Problème paquets java sous ubuntu (Résolu)Bonjour, je programme en java, sous ubuntu, et lorsque je lance un test (dans le terminal) pour essayer mon programme, celui-ci me renvoie : Exception in thread "main" java.lang.NoClassDefFoundError: pob/algogen/Exercice Caused by:... www.commentcamarche.net/forum/affich-8578125-probleme-paquets-java-sous-ubuntu

Résultats pour Java Problème de modulo dans un exercice ..

Télécharger Cavaj Java DecompilerCavaj Java Decompiler est un éditeur gratuit de code Java. Il permet de recomposer le code source Java d'un fichier CLASS. Il prend en charge la décompilation des applets Java, des archives ZIP et JAR. Le code source Java obtenu est précis. Il intègre... www.commentcamarche.net/telecharger/telecharger-34056787-cavaj-java-decompiler
Télécharger JavaScript ObfuscatorJasob JavaScript Obfuscator est un logiciel de protection de code Javascript. Il intègre une interface simple. Il vous permet de convertir votre code Javascript en un code incompréhensible pour l’homme mais lisible pour le navigateur. Le logiciel... www.commentcamarche.net/telecharger/telecharger-34056889-javascript-obfuscator
Télécharger Java ToolsJava Tools est un IDE très léger pour la création, la compilation, l'exécution et le débogage des applications Java et des applettes. L'outil inclus des points et des clics d'accès aux commandes Java, aux documents, au répertoire et aux fichiers. Il... www.commentcamarche.net/telecharger/telecharger-34056297-java-tools

Résultats pour Java Problème de modulo dans un exercice ..

Javascript: les opérateursQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs... www.commentcamarche.net/contents/javascript/jsop.php3
Algèbre de BooleQu'appelle-t-on algèbre de Boole? Un processeur est composé de transistors permettant de réaliser des fonctions sur des signaux numériques. Ces transistors, assemblés entre eux forment des composants permettant de réaliser des fonctions très... www.commentcamarche.net/contents/logic/intro.php3
Java - L'héritageLa notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de... www.commentcamarche.net/contents/java/javaherit.php3