CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Choix entre plusieurs traitement(s)

dzkille
dzkille
Niveau 10
31 mai 2016 à 19:09:12

Bonsoir à tous, l'heure est grave (enfin pour moi :noel: ).
En fait je travaille sur un "menu", je dois donc avoir la possibilité de choisir entre 4 traitements (1,2,3 et 0 pour sortir du programme). Sauf que quand j'entre mon choix il ne se passe rien et il reste en attente d'une réponse :hap:
Serait il possible que vous trouviez l'erreur dans mon code (ci dessous), car n'ayant vu cette matière que 20 min sans pratique je n'y comprends pas grand chose.

Voici un sceen du menu : https://image.noelshack.com/fichiers/2016/22/1464714647-sans-titre.png

et le fameux code :

import java.util.Scanner;

public class MenuV1
{
    public static void main (String [] args)
    {
        System.out.println("Étude de la fonction 7x+2");
        System.out.println("───────────────");
        System.out.println("1.Modifier la fonction");
        System.out.println();
        System.out.println("2.Calculer racine et croissance");
        System.out.println();
        System.out.println("3.Calculer le tableau des valeurs");
        Scanner maSaisie = new Scanner(System.in);
        System.out.println("───────────────");
        System.out.print("Veuillez choisir un traitement : ");
        String RepchoixMenu;
        char choixMenu = '0';
        while(choixMenu !=0)
        {
            switch(choixMenu)
            {
                //CHOIX 1
                case 1 :
                double a = 0;
                while(a==0)
                {            
                    System.out.print("1.Entrer a (terme x) : ");
                    a = maSaisie.nextDouble();
                }
                System.out.println();
                System.out.print("2.Entrer b (termer indépendant) : ");
                double b = maSaisie.nextDouble();
                break;
                
                //CHOIX 2
                case 2 :
                System.out.println("Calcul de la racine");
                double racine = -2/7;
                System.out.println("La racine de la fonction est : " + racine);
                System.out.println();
                System.out.println("Calcul de la croissance");        
                if(racine>0)
                {
                    System.out.println("La fonction est croissante");
                }
                else
                {
                    System.out.println("La fonction est décroissante");
                }
                break;
                
                //CHOIX 3
                case 3 :
                System.out.print("Entrer la borne inférieure : ");
                double BornInf = maSaisie.nextDouble();
                System.out.println();
                System.out.print("Entrer la borne supérieure : ");
                double BornSup = maSaisie.nextDouble();
                System.out.println();        
                System.out.print("Entrer le pas : ");
                double pas = maSaisie.nextDouble();
                System.out.println();
                double i;
                for(i = BornInf; i<= BornSup; i = i+pas)
                {
                    double tabval = (7*i)+2;
                    System.out.print(i + "\t ─> " + tabval +"\n");
                }   
                break;
                //FIN DES CHOIX
            }
            RepchoixMenu = maSaisie.next();
            choixMenu = RepchoixMenu.charAt(0);
        }
    }
}
Message édité le 31 mai 2016 à 19:12:49 par dzkille
dzkille
dzkille
Niveau 10
01 juin 2016 à 14:18:56

Bonjour, merci à toi ça m'a déjà énormément aider puisque mon programme fonctionne désormais, il y a juste un dernier problème, c'est que lorsque j'entre 0 le programme ne s'achève pas, comment je pourrais y remédier?

Voici la nouvelle version de mon code :

import java.util.Scanner;

public class MenuV1
{
    public static void main (String [] args)
    {
        System.out.println("Étude de la fonction 7x+2");
        System.out.println("───────────────");
        System.out.println("0.Sortir du programme");
        System.out.println();
        System.out.println("1.Modifier la fonction");
        System.out.println();
        System.out.println("2.Calculer racine et croissance");
        System.out.println();
        System.out.println("3.Calculer le tableau des valeurs");
        Scanner maSaisie = new Scanner(System.in);
        System.out.println("───────────────");
        System.out.print("Veuillez choisir un traitement : ");
        String RepchoixMenu;
        char choixMenu = '4';
        while(choixMenu !=0)
        {
            switch(choixMenu)
            {
                //CHOIX 1
                case '1' :
                double a = 0;
                while(a==0)
                {            
                    System.out.print("1.Entrer a (terme x) : ");
                    a = maSaisie.nextDouble();
                }
                System.out.println();
                System.out.print("2.Entrer b (termer indépendant) : ");
                double b = maSaisie.nextDouble();
                System.out.println("───────────────");
                System.out.print("Autre traitement : ");                
                break;
                
                //CHOIX 2
                case '2' :
                System.out.println("Calcul de la racine");
                double racine = -2.0/7.0;
                System.out.println("La racine de la fonction est : " + racine);
                System.out.println();
                System.out.println("Calcul de la croissance");        
                if(racine>0)
                {
                    System.out.println("La fonction est croissante");
                }
                else
                {
                    System.out.println("La fonction est décroissante");
                }
                System.out.println("───────────────");
                System.out.print("Autre traitement : ");                
                break;
                
                //CHOIX 3
                case '3' :
                System.out.print("Entrer la borne inférieure : ");
                double BornInf = maSaisie.nextDouble();
                System.out.println();
                System.out.print("Entrer la borne supérieure : ");
                double BornSup = maSaisie.nextDouble();
                System.out.println();        
                System.out.print("Entrer le pas : ");
                double pas = maSaisie.nextDouble();
                System.out.println();
                double i;
                for(i = BornInf; i<= BornSup; i = i+pas)
                {
                    double tabval = (7*i)+2;
                    System.out.print(i + "\t ─> " + tabval +"\n");
                }   
                System.out.println("───────────────");
                System.out.print("Autre traitement : ");                
                break;
                //FIN DES CHOIX
            }
            RepchoixMenu = maSaisie.next();
            choixMenu = RepchoixMenu.charAt(0);            
        }
    }
}

dzkille
dzkille
Niveau 10
01 juin 2016 à 14:36:32

Sur le coup c'a m'est même pas venu à l'esprit :hap:
En tout cas merci pour l'aide et pour la rapidité de tes réponses :noel:

Bon au risque de paraitre lourd, mais j'aimerais savoir une dernière chose.
La version que je viens de finir et ma version 1, mais je dois arriver à une version 2. Dans le traitement 1, J'ai possibilité de modifier la fonction de base qui est 7x+2 ( modifer a et b), par exemple imaginons je remplace a par 5 et b par 6, j'aurais donc 5x+6. Est ce qu'il serait possible (est ce uniquement si je modifie a et b) de faire le traitement 2 avec a = 5 et b = 6?

dzkille
dzkille
Niveau 10
01 juin 2016 à 15:19:27

Voila tout marche nickel comme je le voulais, un GRAND merci :)

Voici le code fonctionnel pour que ceux que ça pourrait intéresser

import java.util.Scanner;

public class MenuV2
{
    public static void main (String [] args)
    {
        double a = 7.0;
        double b = 2.0;
        System.out.println("Étude de la fonction " +a+"x+" + b);
        System.out.println("───────────────");
        System.out.println("0.Sortir du programme");
        System.out.println();
        System.out.println("1.Modifier la fonction");
        System.out.println();
        System.out.println("2.Calculer racine et croissance");
        System.out.println();
        System.out.println("3.Calculer le tableau des valeurs");
        Scanner maSaisie = new Scanner(System.in);
        System.out.println("───────────────");
        System.out.print("Veuillez choisir un traitement : ");
        String RepchoixMenu;
        char choixMenu = '4';
        while(choixMenu !='0')
        {
            switch(choixMenu)
            {
                //CHOIX 1
                case '1' :
                a = 0;
                while(a==0)
                {            
                    System.out.print("1.Entrer a (terme x) : ");
                    a = maSaisie.nextDouble();
                }
                System.out.println();
                System.out.print("2.Entrer b (termer indépendant) : ");
                b = maSaisie.nextDouble();
                System.out.println("───────────────");
                System.out.print("Autre traitement : ");                
                break;
                
                //CHOIX 2
                case '2' :
                System.out.println("Calcul de la racine");
                double racine = -b/a;
                System.out.println("La racine de la fonction est : " + racine);
                System.out.println();
                System.out.println("Calcul de la croissance");        
                if(racine>0)
                {
                    System.out.println("La fonction est croissante");
                }
                else
                {
                    System.out.println("La fonction est décroissante");
                }
                System.out.println("───────────────");
                System.out.print("Autre traitement : ");                
                break;
                
                //CHOIX 3
                case '3' :
                System.out.print("Entrer la borne inférieure : ");
                double BornInf = maSaisie.nextDouble();
                System.out.println();
                System.out.print("Entrer la borne supérieure : ");
                double BornSup = maSaisie.nextDouble();
                System.out.println();        
                System.out.print("Entrer le pas : ");
                double pas = maSaisie.nextDouble();
                System.out.println();
                double i;
                for(i = BornInf; i<= BornSup; i = i+pas)
                {
                    double tabval = (a*i)+b;
                    System.out.print(i + "\t ─> " + tabval +"\n");
                }   
                System.out.println("───────────────");
                System.out.print("Autre traitement : ");                
                break;
                //FIN DES CHOIX
            }
            RepchoixMenu = maSaisie.next();
            choixMenu = RepchoixMenu.charAt(0);            
        }
    }
}
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment