Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pythagore

Sujet résolu
    3 novembre 2008 à 20:06:28

    Salut, j'ai un problème avec le script suivant:

    import java.util.Scanner;
    
    
    public class pythagore {
    long ab, bc, ac;
    
    	public static void main(String[] args) {
    Scanner sc = new Scanner (System.in);
    Long ab = sc.nextLong();
    Long bc = sc.nextLong();
    bc = bc*bc;
    ac = ab+bc;
    System.out.println ("Le carré de l'hypoténuse vaut : " + ac);
    	}
    
    }
    


    Je ne vois pas d'où vient le beug, mais je sais que c'est avec la variable "ac".
    Comment corriger ce beug? :)
    • Partager sur Facebook
    • Partager sur Twitter
      3 novembre 2008 à 20:11:58

      Déjà si tu nous disais quel est le bug rencontré ce serait pas mal. xD
      Ensuite, tu oublies de calculer le carré de ab il me semble...
      • Partager sur Facebook
      • Partager sur Twitter
        3 novembre 2008 à 20:15:11

        voici le nouveau code:
        import java.util.Scanner;
        
        
        public class pythagore {
        long ab, bc, ac;
        
        	public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        Long ab = sc.nextLong();
        Long bc = sc.nextLong();
        ab = ab*ab;
        bc = bc*bc;
        ac = ab+bc;
        System.out.println ("Le carré de l'hypoténuse vaut : " + ac);
        	}
        
        }
        


        En fait, le beug rencontré (avec Eclipse) est un soulignement en vagues rouge sur le "ac", et Eclipse parle de "static" avec "ac"...
        • Partager sur Facebook
        • Partager sur Twitter
          3 novembre 2008 à 20:19:01

          Effectivement, tu utilises une variable d'instance dans un contexte statique, ça ne fonctionne donc pas.
          D'ailleurs ton code est assez space, je n'avais pas fait attention.
          Par exemple, tu redéclares des variables ab et bc dans ta méthode main alors qu'elles sont déjà déclarées comme champ de ta classe. Si tu ne l'avais pas fait, tu aurais eu l'erreur pour les trois variables.
          Ensuite, juste d'un point de vue écriture du code, un nom de classe porte toujours une majuscule.

          J'écris le code type que devrait avoir ton programme et j'édite. :)

          Edit :
          import java.util.Scanner;
          
          
          public class Pythagore {
          static long ab, bc, ac;
          
          	public static void main(String[] args) {
          Scanner sc = new Scanner (System.in);
          ab = sc.nextLong();
          bc = sc.nextLong();
          ab = ab*ab;//Pourait aussi s'écrire ab = Math.pow(ab, 2)
          bc = bc*bc;//Idem avec bc
          ac = ab+bc;//On pourrait même simplifier en effectuant le calcul de ab² et bc² ici
          System.out.println ("Le carré de l'hypoténuse vaut : " + ac);
          	}
          
          }
          


          Tu pourrais aussi faire un code où tes variables sont déclarées dans la méthode main. Mais de toute façon, ton code n'est pas un code orienté objet et est assez simpliste, donc bon.
          • Partager sur Facebook
          • Partager sur Twitter
            3 novembre 2008 à 20:48:01

            Ok, merci beaucoup ^^
            juste un truc, que veut dire "space"?
            • Partager sur Facebook
            • Partager sur Twitter
              3 novembre 2008 à 21:42:56

              Spécial, bizarre, pas logique. ^^
              • Partager sur Facebook
              • Partager sur Twitter
                3 novembre 2008 à 22:54:59

                tu peux mettre ton post en "résolu" si tu n'as plus d'autres questions ;)
                • Partager sur Facebook
                • Partager sur Twitter

                Pythagore

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown