Problèmes programmation java

Fermé
Utilisateur anonyme - 8 juin 2011 à 19:14
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 8 juin 2011 à 21:03
Bonjour. Encore débutant en programmation Java,j'ai un petit soucis au niveau de ce que j'écrit. Je ne peux pas compiler. Chose normal puisque ca doit être faux.
En gros je veux faire un programme de calculatrice pour un fichier html.
Quand je fais compiler, DrJava me dit où sont mes erreurs.
Je vous envoie mon prgm et le descriptif de mes erreurs.
J'éspère que l'un de vous trouvera où est le soucis et saura me répondre.



public class Calculette {
public static void main( String args[] )
{
Web.readCgiParams();
String chainenb1 = Web.getValParam("nb1");
String chainenb2 = Web.getValParam("nb2");
String operateur = Web.getValParam("operateur");
int nb1 = Puce.StringToInt(chainenb1); ------------>erreur
int nb2 = Puce.StringToInt(chainenb2); ------------>erreur
int result=0;
String message = "";
//Le Calcul
if (Puce.equals(operateur, "+")){
result = nb1 + nb2;
} else if (Puce.equals(operateur, "-")){
result = nb1 - nb2;
} else if (Puce.equals(operateur, "*")){
result = nb1 * nb2;
} else if (Puce.equals(operateur, "/")){
if (nb2 !=0) {
result = nb1 / nb2;
} else {
message = "<font color='red'>Division par zéro impossible</font>";
}
}
//Entete reponse http
Puce.println(Web.headerMin());
Puce.println(Web.htmlTop("Calculette"));
//Dans le corps du document
Puce.println("<h1> Calcul de " + nb1 + operateur + nb2 + "!</h1>\n");
//Si le message a été rempli => il y a une erreur
if (Puce.equals(message, "")) {
Puce.println("<h3>Resultat : " + result + " </h3>\n");
} else {
Puce.println(message);
}
//Fin du document html
Puce.println("<h3> Au revoir, à bientôt !</h3>\n");
Puce.println(Web.htmlBottom());
}
}



2 errors found:
File: /Users/Theo/PCME/LI105/Html/Calculette/Calculette.java [line: 8]
Error: /Users/Theo/PCME/LI105/Html/Calculette/Calculette.java:8: cannot find symbol
symbol : method StringToInt(java.lang.String)
location: class Puce
File: /Users/Theo/PCME/LI105/Html/Calculette/Calculette.java [line: 9]
Error: /Users/Theo/PCME/LI105/Html/Calculette/Calculette.java:9: cannot find symbol
symbol : method StringToInt(java.lang.String)
location: class Puce


Merci d'avance. Cordialement.
Tiiio

Rien ne sert de courir, il faut arriver à point.
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
8 juin 2011 à 21:03
C'est difficile de t'aider complètement car on ne connait pas tes classes Web et Puce.
Cependant, avec l'API standard tu as Integer.parseInt(String) qui fera ce que tu veux :

int nb1 = Integer.parseInt(chainenb1);
int nb2 = Integer.parseInt(chainenb2);

Remarque : une manière plus élégante de faire ce genre de calculs serait d'utiliser un ScriptEngineManager, cependant je n'ai pas pu tester vu que je n'ai pas Web et Puce :

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

private static final ScriptEngine js = 
        new ScriptEngineManager().getEngineByName("js");

public static String evaluer(String formule)
{
    try
    {
        return "<h3>Resultat : "+(Double) js.eval(formule)+" </h3>\n";
    }
    catch (ScriptException e)
    {
    	return "<font color='red'>"+e+"</font>";
    }
}

public static void main(String args[])
{
	Web.readCgiParams();
	String calcul = Web.getValParam("nb1")+Web.getValParam("operateur")+Web.getValParam("nb2");
	
	Puce.println(Web.headerMin());
	Puce.println(Web.htmlTop("Calculette")); 
	Puce.println("<h1> Calcul de "+calcul+" !</h1>\n"); 
	Puce.println(evaluer(calcul));
	Puce.println("<h3> Au revoir, à bientôt !</h3>\n"); 
	Puce.println(Web.htmlBottom()); 
}
1