Commande dans un restaurant
Heno
-
greenthumb -
greenthumb -
Bonjour,
J'ai terminée mon programme, mais voilà que je le test et ça m'écris des erreurs que je ne comprends pas. Ca me dit qu'à la ligne 65 ')' expected, sauf que je ne vois pas ou il manque ce ')' et ça écris illegal start of expression (toujours à la même ligne). Ensuite, pour la ligne 76, ça m'écris not a statement et ';' expected, mais encore là je ne vois pas ou il manque ce ';'. Ce dois vraiment être une niaserie, mais quand on débute en programmation il faut faire ce genre d'erreur pour mieux comprendre... quequ'un peux m'aider s.v.p. (je commence a désespérer) Merci d'avance!
Voilà mon programme:
/**
* @(#)tp3no1.java
*
*
* @author
* @version 1.00 2008/4/8
*/
import java.io.*;
public class Tp3no1 {
/* TP3No1 : Saisir une commande au clavier( nombre de plats et un plat donné)
* et afficher la commande
* Auteur : Genevieve Henault
* Code permanant : HENG04628606
*/
// lecture du nombre de plats à commander
int lireNombre(int min, int max);
{
int nb;
do
{
nb = Utile.lireEntier("Entrer le nombre de plats que vous desirez : ");
}
while(nb < min || nb > max);
return nb;
} //fin LireNombre
// lecture du genre de plats à commander
char lirePlat();
{
char ch;
do
{
ch = Utile.lireCaractere("Entrer le plat choisi ( P: pizza, S: sushi, C: couscous ): ");
ch = String.toLowerCase (ch);
ch = String.toUpperCase (ch);
}
while((ch!='P') && (ch!='S') && (ch!='C'));
return ch;
} // LirePlat
// principal
public static void main (String [] args) throws IOException
{
char plat;
int nbPlats;
nbPlats = lireNombre(1, 4 );
plat = lirePlat();
System.out.println ("\nVous avez choisi : "
+ nbPlats "Plat(s)"); // LIGNE 65
if ( plat == 'C' )
{
System.out.println( "marocain(s) ");
}
else if ( plat == 'P' )
{
System.out.println( "italien(s) ");
}
else (plat == 'S') // LIGNE 76
{
System.out.println( "japonais");
}
} // fin main
}
J'ai terminée mon programme, mais voilà que je le test et ça m'écris des erreurs que je ne comprends pas. Ca me dit qu'à la ligne 65 ')' expected, sauf que je ne vois pas ou il manque ce ')' et ça écris illegal start of expression (toujours à la même ligne). Ensuite, pour la ligne 76, ça m'écris not a statement et ';' expected, mais encore là je ne vois pas ou il manque ce ';'. Ce dois vraiment être une niaserie, mais quand on débute en programmation il faut faire ce genre d'erreur pour mieux comprendre... quequ'un peux m'aider s.v.p. (je commence a désespérer) Merci d'avance!
Voilà mon programme:
/**
* @(#)tp3no1.java
*
*
* @author
* @version 1.00 2008/4/8
*/
import java.io.*;
public class Tp3no1 {
/* TP3No1 : Saisir une commande au clavier( nombre de plats et un plat donné)
* et afficher la commande
* Auteur : Genevieve Henault
* Code permanant : HENG04628606
*/
// lecture du nombre de plats à commander
int lireNombre(int min, int max);
{
int nb;
do
{
nb = Utile.lireEntier("Entrer le nombre de plats que vous desirez : ");
}
while(nb < min || nb > max);
return nb;
} //fin LireNombre
// lecture du genre de plats à commander
char lirePlat();
{
char ch;
do
{
ch = Utile.lireCaractere("Entrer le plat choisi ( P: pizza, S: sushi, C: couscous ): ");
ch = String.toLowerCase (ch);
ch = String.toUpperCase (ch);
}
while((ch!='P') && (ch!='S') && (ch!='C'));
return ch;
} // LirePlat
// principal
public static void main (String [] args) throws IOException
{
char plat;
int nbPlats;
nbPlats = lireNombre(1, 4 );
plat = lirePlat();
System.out.println ("\nVous avez choisi : "
+ nbPlats "Plat(s)"); // LIGNE 65
if ( plat == 'C' )
{
System.out.println( "marocain(s) ");
}
else if ( plat == 'P' )
{
System.out.println( "italien(s) ");
}
else (plat == 'S') // LIGNE 76
{
System.out.println( "japonais");
}
} // fin main
}
A voir également:
- Commande dans un restaurant
- Invite de commande - Guide
- Commande terminal mac - Guide
- Comment restaurer un ordinateur - Guide
- Commande dism - Guide
- Commande scannow - Guide
2 réponses
bonsoir,
Ligne 65 : + nbPlats + "Plat(s)"); // LIGNE 65
n'oublie pas de mettre un + entre les differents éléments que tu veux afficher ;)
Ligne 76 : else (plat == 'S') // LIGNE 76
ici tu a deux solutions : 1/ soit tu laisses un else, mais dans ce cas il n'y a pas de conditions après un else, et le programme rentrera dans cette partie du code si plat est different de "P" et de "C". Ton code deviendrait alors :
else {
//japonais
}
2/ soit tu fais comme ceci :
else if(plat == 'S') {
//japonais
}
else {
//erreur dans le choix du plat
}
Dans ce cas, si plat est égal à "S", le programme effectuera le traitement du plat japonais sinon il indiquera une erreur dans le choix du plat
J'espère t'avoir aidé et avoir été clair :)
Ligne 65 : + nbPlats + "Plat(s)"); // LIGNE 65
n'oublie pas de mettre un + entre les differents éléments que tu veux afficher ;)
Ligne 76 : else (plat == 'S') // LIGNE 76
ici tu a deux solutions : 1/ soit tu laisses un else, mais dans ce cas il n'y a pas de conditions après un else, et le programme rentrera dans cette partie du code si plat est different de "P" et de "C". Ton code deviendrait alors :
else {
//japonais
}
2/ soit tu fais comme ceci :
else if(plat == 'S') {
//japonais
}
else {
//erreur dans le choix du plat
}
Dans ce cas, si plat est égal à "S", le programme effectuera le traitement du plat japonais sinon il indiquera une erreur dans le choix du plat
J'espère t'avoir aidé et avoir été clair :)
Merci pour la réponse... c'est vraiment apprécié...
Maintenant il m'affiche qu'à la ligne 23 ')' expected, illegal start of type, <identifier> expected, ';'expected
???
/**
* @(#)tp3no1.java
*
*
* @author
* @version 1.00 2008/4/8
*/
import java.io.*;
public class Tp3no1 {
/* TP3No1 : Saisir une commande au clavier( nombre de plats et un plat donné)
* et afficher la commande
* Auteur : Genevieve Henault
* Code permanant : HENG04628606
*/
// lecture du nombre de plats à commander
int lireNombre(int min=1, int max=4); // LIGNE 23
{
int nb;
do
{
nb = Utile.lireEntier("Entrer le nombre de plats que vous desirez : ");
}
while(nb < min || nb > max);
return nb;
} //fin LireNombre
// lecture du genre de plats à commander
char lirePlat();
{
char ch;
do
{
ch = Utile.lireCaractere("Entrer le plat choisi ( P: pizza, S: sushi, C: couscous ): ");
ch = String.toLowerCase (ch);
ch = String.toUpperCase (ch);
}
while((ch!='P') && (ch!='S') && (ch!='C'));
return ch;
} // LirePlat
// principal
public static void main (String [] args) throws IOException
{
char plat;
int nbPlats;
nbPlats = lireNombre(1, 4 );
plat = lirePlat();
System.out.println ("\nVous avez choisi : "
+ nbPlats + "Plat(s)");
if ( plat == 'C' )
{
System.out.println( "marocain(s) ");
}
else if ( plat == 'P' )
{
System.out.println( "italien(s) ");
}
else if (plat == 'S')
{
System.out.println( "japonais");
}
else
{
System.out.println( "Erreur dans le choix du plat");
}
} // fin main
}
Maintenant il m'affiche qu'à la ligne 23 ')' expected, illegal start of type, <identifier> expected, ';'expected
???
/**
* @(#)tp3no1.java
*
*
* @author
* @version 1.00 2008/4/8
*/
import java.io.*;
public class Tp3no1 {
/* TP3No1 : Saisir une commande au clavier( nombre de plats et un plat donné)
* et afficher la commande
* Auteur : Genevieve Henault
* Code permanant : HENG04628606
*/
// lecture du nombre de plats à commander
int lireNombre(int min=1, int max=4); // LIGNE 23
{
int nb;
do
{
nb = Utile.lireEntier("Entrer le nombre de plats que vous desirez : ");
}
while(nb < min || nb > max);
return nb;
} //fin LireNombre
// lecture du genre de plats à commander
char lirePlat();
{
char ch;
do
{
ch = Utile.lireCaractere("Entrer le plat choisi ( P: pizza, S: sushi, C: couscous ): ");
ch = String.toLowerCase (ch);
ch = String.toUpperCase (ch);
}
while((ch!='P') && (ch!='S') && (ch!='C'));
return ch;
} // LirePlat
// principal
public static void main (String [] args) throws IOException
{
char plat;
int nbPlats;
nbPlats = lireNombre(1, 4 );
plat = lirePlat();
System.out.println ("\nVous avez choisi : "
+ nbPlats + "Plat(s)");
if ( plat == 'C' )
{
System.out.println( "marocain(s) ");
}
else if ( plat == 'P' )
{
System.out.println( "italien(s) ");
}
else if (plat == 'S')
{
System.out.println( "japonais");
}
else
{
System.out.println( "Erreur dans le choix du plat");
}
} // fin main
}
si on peut s'aider... ;)
int lireNombre(int min=1, int max=4); // LIGNE 23
ici, vous déclarez une méthode qui s'appelle lireNombre et qui attend deux entiers. Lorsque l'on déclare la méthode, il ne faut en aucun cas mettre un point virgule en fin de ligne... le point virgule est utilisé lorsque vous appelez cette méthode dans votre main() ;)
Ensuite, vous ne pouvez pas mettre min=1, max=4.
C'est lors de l'appel de la méthode dans votre main() que vous devez mettre les valeurs des arguments min et max, comme vous l'avez fait d'ailleurs.
Donc pour résumer :
Déclaration de la méthode :
int lireNombre(int min, int max) {
//code de la methode
}
appel de la méthode :
lireNombre(1, 4); //dans ce cas, min = 1 et max = 4
Vous comprenez ?
int lireNombre(int min=1, int max=4); // LIGNE 23
ici, vous déclarez une méthode qui s'appelle lireNombre et qui attend deux entiers. Lorsque l'on déclare la méthode, il ne faut en aucun cas mettre un point virgule en fin de ligne... le point virgule est utilisé lorsque vous appelez cette méthode dans votre main() ;)
Ensuite, vous ne pouvez pas mettre min=1, max=4.
C'est lors de l'appel de la méthode dans votre main() que vous devez mettre les valeurs des arguments min et max, comme vous l'avez fait d'ailleurs.
Donc pour résumer :
Déclaration de la méthode :
int lireNombre(int min, int max) {
//code de la methode
}
appel de la méthode :
lireNombre(1, 4); //dans ce cas, min = 1 et max = 4
Vous comprenez ?