Probème java

Fermé
seb911 - 24 juil. 2009 à 12:35
Phortitou Messages postés 221 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 4 décembre 2011 - 24 juil. 2009 à 15:17
Bonjour,

Je suis débutant en java et je tente de réaliser quelques petits programmes.
J'essaie de faire une calculette mais je rencontre un problème lorsque je le run.
je suppose que le problème se situe au moment ou je demande à l'utilisateur de saisir le type d'opération qu'il
veut effectuer et je suppose que operateur = (char) (new Scanner(System.in)).nextFloat(); ne convient pas .

Si quelqu'un veut bien m'aider ça serait sympa (avec des explications par trop compliqué svp)
Merci d'avance.

package exercice7;
import java.util.*;

public class Exercice7 {
public static void main (String[] arg){


double calcul=0;
double valeur1=0;
double valeur2=0;
char operateur;
boolean OK = true;
System.out.println("entrez votre première valeur");
valeur1=(new Scanner(System.in)).nextDouble();

System.out.println("entrez votre première valeur");
valeur2=(new Scanner(System.in)).nextDouble ();

System.out.println("entrez votre opérateur + - / * ");
operateur = (char) (new Scanner(System.in)).nextFloat();

switch (operateur) {

case '+':calcul= valeur1+valeur2;
case '-':calcul= valeur1-valeur2;
case '/':calcul= valeur1/valeur2;
case '*':calcul= valeur1*valeur2;
default : OK = false ;

}
if (OK) {
System.out.print("Cette operation a pour resultat : ");
System.out.println(valeur1 + " " +operateur+ " "+ valeur2 + " = " + calcul);
}
else{
System.out.println("opération imposible!!!");
}
}
}
A voir également:

1 réponse

Phortitou Messages postés 221 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 4 décembre 2011 27
24 juil. 2009 à 15:17
(char) (new Scanner(System.in)).nextFloat()

Tu peux pas convertir un float en char. C'est pas un seul caractère un float ! Par contre tu peux convertir un int en char, mais ça te fera pas un char qui contient le nombre, mais le caractère correspondant à la norme Unicode de ton int. Par exemple (char) 65 donnera 'A'

Utilise plutôt les méthodes de la classe String et tu récupère avec Scanner.nextLine()
0