Java1

Bonjour,
ecrire un programme qui lit 3 paremetres:un nombre entier ,un caractere representant l'operateur (+,-,x ou /) et un second nombre entier,puis qui effectue le calcul ainsi indiqué et affiche le résultat.(eviter les divisions par 0).nota:ne pas utiliser le signe * comme parametre ,il a une signification particuliere :reference au fichiers d'un repertoire.
aider moi sur cet exercice
Configuration: Windows Vista Internet Explorer 7.0

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut

    rien de bien compliqué, je te conseille d'utiliser un "switch case" pour les opérateurs.

    Lance toi et si tu as un soucis, mets ton code et on pourra t'aider.

    1. Modérateur
      voici le "squelette" de ton programme

      public class Demo{
      
      private int nbr1, nbr2;
      private char operator;
      private int result;
      
      
      
      public static int calcul(char opr, int fisrtNbre, int secondNbre){
      
      	nbr1 = firstNbre;
      	nbr2 = secondNbre;
      	operator = opr;
      
      	switch (operator){
      
      		case '+':
      			result = nbr1+nbr2;
      			break;
      
      		case '-':
      			result = ......;
      			break;
      
      		case '/':
      			result = ....;
      			break;
      
      		case 'X':
      			result = ....;
      			break;
      
      		default:
      			result = 0;
      			break;
      	}
      
      	return result;
            }
      }


      https://www.commentcamarche.net/contents/552-java-les-structures-conditionelles
      1. public class exo6 {

        public static void main(String[] args) {
        int nbre1 = 0,nbre2 = 0;
        System.out.println(" le 1er nbre vaut:"+nbre1);
        System.out.println(" le 1er nbre vaut:"+nbre2);
        switch ( );
        case:nbre1 + nbre2 ;break;
        case:nbre1 - nbre2 ;break;
        case:nbre1 x nbre2;break;
        case:nbre1 / nbre2;break

        jai commencé mais ca indique bcp d'erreur
        1. Modérateur
          Salut

          en effet ...

          essaye avec le squelette que je t'ai donné..
          1. le console indique tjrs des erreurs au niveau des opérateurs(+,-,x ou /)
            1. public class exo6 {
              private static int nbre1;
              private static int nbre2;
              private static char opérateur ;
              private static int result;

              public static main calcul (char opr,int PremierNbre,int SecondNbre){
              nbre1=PremierNbre;
              nbre2=SecondNbre;
              opr=opérateur;
              switch (opérateur){
              case'+':
              result=nbre1 + nbre2;
              break;
              case'-':
              result=nbre1 - nbre2;
              break;
              case'/':
              result= nbre1 / nbre2;
              break;
              case'*':
              result= nbre1 * nbre2 ;
              break;
              default:
              result=0;
              break;
              }
              return result;
              }

              }
              c'est ce j'ai fais mais ca ne marche tjrs pas !!!!!!!!!!
              1. Modérateur
                quelles sont les erreurs remontées ?
                donne nous ce que remonte le compilateur
                1. Modérateur
                  essaye un peu en changeant le nom de ta variable. Evite les accents, "opérateur" devient "operateur".

                  ensuite dans ta méthode

                  public static main calcul (char opr,int PremierNbre,int SecondNbre){
                  nbre1=PremierNbre;
                  nbre2=SecondNbre;
                  opr=operateur; ce n'est pas bon ....

                  mais ceci est correct

                  operateur = opr;

                  1. Modérateur
                    il me semble aussi que tu devais éviter "*", c'est dans ton énoncé...

                    donc il faut le remplacer par 'x'
                    1. java.lang.NoSuchMethodError: main
                      Exception in thread "main"

                      c'est l'erreur que ca indique
                      1. public static main calcul (char opr,int PremierNbre,int SecondNbre)

                        ta fonction de départ de ton programme doit s'appeler "main", pas "main calcul"
                        1. Modérateur
                          en fait le squelette aurait dû être ...

                          public class Launcher{

                          public static void main (String[] args){

                          Demo.calcul( .. les arguments);
                          }

                          }

                          public class Demo{
                          
                          private int nbr1, nbr2;
                          private char operator;
                          private int result;
                          
                          
                          public static int calcul(char opr, int fisrtNbre, int secondNbre){
                          
                          	nbr1 = firstNbre;
                          	nbr2 = secondNbre;
                          	operator = opr;
                          
                          	switch (operator){
                          
                          		case '+':
                          			result = nbr1+nbr2;
                          			break;
                          
                          		case '-':
                          			result = ......;
                          			break;
                          
                          		case '/':
                          			result = ....;
                          			break;
                          
                          		case 'X':
                          			result = ....;
                          			break;
                          
                          		default:
                          			result = 0;
                          			break;
                          	}
                          
                          	return result;
                                }
                          }


                          Mais bon c'était pas la question