Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Dubbio switch in java

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86

    Dubbio switch in java

    ciao ragazzi ho un problema : devo usare l'istruzione switch per una serie di menu :
    LA SCHERMATA PRINCIPALE CHIEDE DI PREMERE 1 ,2, 3
    1 per persona
    2 per struttura
    3 termina

    SE PREMO 1 VADO A PERSONA E INSERISCO IL NOME,COGNOME E IL NUM.DI TELEFONO
    alla fine dell'inserimento mi appare un altro menu (sempre utilizzando la switch) che mi chiede
    1 per inserire altri campi opzionali della persona
    2 per ritornare al menu principale

    Se premo 1 inserisco altri campi opzionali come l'indirizzo fax email ecc.. pero al termine di questo inserimento il programma termina xkè c'e' l'istruzione break come posso fare per ritornare al menu' precedente dove mi chiede di inserire altri campi opzionali? oppure al menu principale ? questo è il codice :

    public class main
    {

    public static void main(String args[])
    {

    Scanner in_0 = new Scanner(System.in);
    System.out.println("inserisci : ");
    System.out.println("1 per persona ");
    System.out.println("2 per struttura");
    System.out.println("3 per terminare");
    int in_00 = in_0.nextInt();
    int digit = in_00;
    switch (digit)
    {
    case 1: System.out.println("hai voluto inserire la persona");
    System.out.println("inserisci Nome, Cognome, numero telefono persona");
    Scanner nominativo = new Scanner(System.in);
    String nome_cognome = nominativo.next();
    String numerotelefono = nominativo.next();
    persona genericaPersona = new persona(nome_cognome, numerotelefono);
    System.out.println("INSERIMENTO COMPLETATO");
    System.out.println("vuoi inserire altri campi opzionali? 1 per SI , 2 per NO!");
    Scanner domanda = new Scanner(System.in);
    int risposta = domanda.nextInt();
    switch (risposta)
    {
    case 2: System.out.println("Hai premuto 0 il programma è terminato");
    break;

    case 1: System.out.println("Hai premuto 1 per inserimento altri campi");
    System.out.println("Inserisci :");
    System.out.println("1 = Telefono Alternativo");
    System.out.println("2 = Telefono Mobile");
    System.out.println("3 = Fax");
    System.out.println("4 = Email");
    System.out.println("5 = Note");

    Scanner altri_nominativi2 = new Scanner(System.in);
    int altroTipoInserimento = altri_nominativi2.nextInt();
    switch (altroTipoInserimento)
    {
    case 1: System.out.println("Inserimento tel alternativo");

    default : System.out.println("ERRORE");

    }
    break;
    default : System.out.println("ERRORE");
    break;

    }


    break;
    case 2: System.out.println("hai voluto inserire una struttura");
    break;
    case 3: System.out.println("termina");
    break;
    default: System.out.println("ERROR");
    break;
    }

    }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Devi fare un loop, chiaramente. Un do-while mi sembra il più appropriato.
    Esempio:

    codice:
    Scanner scanner = new Scanner (System.in);
    boolean exit = false;
    
    do {
        System.out.print ("Scelta: ");
        
        int scelta = scanner.nextInt ();
        
        switch (scelta)
        {
            // ......
            case 3:  exit = true;  break;
        }
    } while (!exit);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86
    posso utilizzare la struttura ke mi hai suggerito per diversi switch annidati ognuno dei quali puo' uscire per ritornare allo switch precedente?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86
    CIOè VORREI FARE UNA COSA DEL TIPO:

    Originariamente inviato da andbin
    Devi fare un loop, chiaramente. Un do-while mi sembra il più appropriato.
    Esempio:

    codice:
    Scanner scanner = new Scanner (System.in);
    boolean exit = false;
    
    do {
        System.out.print ("Scelta: ");
        
        int scelta = scanner.nextInt ();
        
        switch (scelta)
        {
            case 1: System.out.println("inserisci x,y");
                        System.out.pritnln("premi 1 per aggiungere altri campi 2 per tornare al menu principiale
                      Scanner scanner = new Scanner (System.in);
    boolean exit = false;do {
        System.out.print ("Scelta: ");
        
        int scelta = scanner.nextInt ();
        
        switch (scelta)
        {
            case 2 = torna al menu principale;
            case 1 = aggiungo altri campi;
                     
            case 3:  exit = true;  break;
        }
    } while (!exit);
    se premo no mi riappare di nuovo il menu dove chiede se voglio inserire di nuovo altri campi invece di ritornare al menu principale!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.