Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variable contenant une Opération et classe Scanner

Sujet résolu
    20 mai 2018 à 11:08:36

    Bonjour à tous !

    En plein dans le TP Conversion Celsius - Fahrenheit je me suis retrouvé face à un problème par rapport à une variable qui contenait une opération réalisée à partir d'une entrée utilisateur. Pour essayer de résoudre ce problème par moi même j'ai créé un deuxième projet très simple destiné à comprendre mon erreur.

    CODE NUMERO 1 :

    package test;
    
    import java.util.Scanner;
    
    public class main {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    	int a = 0;
    	int b = 0;
    	int c = a*b;
    	
    
    Scanner sc = new Scanner(System.in);
    
    
    System.out.println("Nous allons multiplier A par B");
    System.out.println("Entrer a (nombre entier) :");
    a = sc.nextInt();
    sc.nextLine();
    System.out.println("Entrer b (nombre entier) ");
    b = sc.nextInt();
    sc.nextLine();
    System.out.println(c);
    System.out.println(a*b);
    sc.close();
    		
    	}
    
    }

    CODE NUMERO 2 :

    package test;
    
    import java.util.Scanner;
    
    public class main {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    	int a = 0;
    	int b = 0;
    	
    
    Scanner sc = new Scanner(System.in);
    
    
    System.out.println("Nous allons faire A multiplier par B");
    System.out.println("Entrer a (nombre entier) :");
    a = sc.nextInt();
    sc.nextLine();
    System.out.println("Entrer b (nombre entier) ");
    b = sc.nextInt();
    sc.nextLine();
    int c = a*b;
    System.out.println(c);
    System.out.println(a*b);
    sc.close();
    		
    	}
    
    }
    


    J'aimerais comprendre pourquoi je suis obligé de placer la variable "c" contenant l'opération réalisée à partir d'une entrée utilisateur, APRES la demande, sous peine de voir l'opération être de 0 * 0 à chaque fois, même si les variables a et b ont bien été capturée ?

    -
    Edité par JulienDupetit 20 mai 2018 à 11:09:58

    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2018 à 11:22:11

      Salut. Et bien c'est très simple, le programme s’exécute séquentiellement. Dans le premier code les variables "a" et "b" valent 0 donc la multiplication donne 0. Ce n'est pas parce que tu modifieras leurs valeurs plus tard que celle de c changera.

      Ce n'est pas comme une feuille de calcul où les valeurs sont recalculées. Tu comprends?

      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2018 à 11:57:15

        Ah d'accord j'ai compris ! Merci Kulturman :D
        • Partager sur Facebook
        • Partager sur Twitter

        Variable contenant une Opération et classe Scanner

        × 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