Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Qualche problema con JAVA

    Salve a tutti volevo porvi un quesito. Quando eseguo questa parte di codice ho un problema, il programma nn va avanti:

    codice:
    import javax.swing.*;
    
    import java.text.*;
    
    public class der
    
    {
    
    public static void main (String[] args)
    
    {
    
    
    int a=0;
    
    
    
    
    
    
    
    
    	String c= JOptionPane.showInputDialog("Inserisca\n -1 se il sesso  è M;\n -0 se il sesso  è F:");
    
    	int sesso= Integer.parseInt(c);
    
    
    if (sesso == 1) {
    
    
    
    	String d= JOptionPane.showInputDialog("Inserisca l'età :");
    
    	int eta= Integer.parseInt(d);
    
    
    	while (eta < 18 || eta > 90) {
    
    
    	String e= JOptionPane.showInputDialog("Ha inserito un'età non accettabile.\nReinserisca l'età :");
    
     	eta= Integer.parseInt(e);
    
    
    if ( eta >= 18 & eta <= 90) continue;
    
    
    }
    
    
    if (eta >= 18 & eta <= 22) {
    
    	a = a+ 1;
    
    }
    
    if (eta >= 23 & eta <= 25) {
    
    	a = a + 2;
    
    }
    
    if (eta >= 26 & eta <= 30) {
    
    	a = a + 3;
    
    }
    
    
    if (eta >= 31 & eta <= 40) {
    
    	a = a + 0;
    
    }
    
    
    
    if (eta >= 41 & eta <= 45) {
    
    	a = a - 27;
    
    }
    
    
    
    if (eta >= 46 & eta <= 50) {
    
    	a = a + 0;
    
    }
    
    
    if (eta >= 51 & eta <= 55) {
    
    	a = a + 13;
    
    }
    
    if (eta >= 56 & eta <= 65) {
    
    	a = a - 34;
    
    }
    
    if (eta >= 66 & eta <= 70) {
    
    	a = a - 34;
    
    }
    
    if (eta > 70) {
    
    	a = a + 0;
    
    
    
    }
    }
    
    
    
    
    
    
    else {
    
    
    
    
    
    if (sesso == 0)	{
    
    
    
    	String f= JOptionPane.showInputDialog("Inserisca l'età");
    
    	int etad= Integer.parseInt(f);
    
    
    	while (etad < 18 | etad > 90) {
    
    
    	String g= JOptionPane.showInputDialog("Ha inserito un'età non accettabile.\nReinserisca l'età :");
    
    	etad= Integer.parseInt(g);
    
    	if ( etad >= 18 & etad <= 90) continue;
    
    }
    
    
    if (etad >= 18 & etad <= 22) {
    
    	a = a + 64;
    
    }
    if (etad >= 23 & etad <= 25) {
    
    	a = a + 64;
    
    }
    
    if (etad >= 26 & etad <= 30) {
    
    	a = a + 0;
    
    }
    
    if (etad >= 31 & etad <= 40) {
    
    	a = a - 13;
    
    }
    
    if (etad >= 41 & etad <= 45) {
    
    	a = a + 39;
    
    }
    
    if (etad >= 46 & etad <= 50) {
    
    	a = a + 64;
    
    }
    
    if (etad >= 51 & etad <= 55) {
    
    	a = a + 39;
    
    }
    
    if (etad >= 56 & etad <= 65) {
    
    	a = a - 34;
    
    }
    
    if (etad >= 66 & etad <= 70) {
    
    	a = a + 0;
    
    }
    
    if (etad > 70) {
    
    	a = a + 64;
    
    }
    
    }
    JOptionPane.showMessageDialog (null,"Il codice del preventivo del Sig."+   "è\n"+" >>"+ a+"<<");
    
    
    
    
    
    
    
    System.exit(0);
    
    }
    
    }
    
    }
    Datemi una mano grazie
    SALVE A TUTTI!!!

  2. #2
    si ma qual'è il problema?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Cosa vuol dire non va avanti?
    Vuoi una mano a spingerlo?

    Scherzi a parte, ho guardato il tuo codice, ma la prossima
    volta indentalo meglio. L'errorino che hai fatto è quello
    di inserire la riga in cui mostri il codice del preventivo
    all'interno del blocco if-else relativo alla scelta "0".
    Spostalo all'esterno del blocco if-else, in modo tale da
    farlo eseguire anche con la scelta "1".

    Al posto di tutti quegli if avrei optato per uno switch-case.
    Nei 2 while la riga con "continue" non è utile.
    Attenzione all'uso degli operatori & ed | (bitwise)
    i luogo di && ed || (logic).
    Manca un controllo di errore sull'inserimento dei dati.

    Ciao.

    codice:
    import javax.swing.*;
    import java.text.*;
    
    public class Der {
    
    	public static void main (String[] args)
    	{
    		int a=0;
    		String c= JOptionPane.showInputDialog("Inserisca\n -1 se il sesso  è M;\n -0 se il sesso  è F:");
    		int sesso= Integer.parseInt(c);
    		if (sesso == 1) {
    			String d= JOptionPane.showInputDialog("Inserisca l'età :");
    			int eta= Integer.parseInt(d);
    			while (eta < 18 | eta > 90) {
    				String e= JOptionPane.showInputDialog("Ha inserito un'età non accettabile.\nReinserisca l'età :");
    			 	eta= Integer.parseInt(e);
    				if ( eta >= 18 & eta <= 90) continue;
    			}
    			if (eta >= 18 & eta <= 22) {
    				a = a+ 1;
    			}
    			if (eta >= 23 & eta <= 25) {
    				a = a + 2;
    			}
    			if (eta >= 26 & eta <= 30) {
    				a = a + 3;
    			}
    			if (eta >= 31 & eta <= 40) {
    				a = a + 0;
    			}
    			if (eta >= 41 & eta <= 45) {
    				a = a - 27;
    			}
    			if (eta >= 46 & eta <= 50) {
    				a = a + 0;
    			}
    			if (eta >= 51 & eta <= 55) {
    				a = a + 13;
    			}
    			if (eta >= 56 & eta <= 65) {
    				a = a - 34;
    			}
    			if (eta >= 66 & eta <= 70) {
    				a = a - 34;
    			}
    			if (eta > 70) {
    				a = a + 0;
    			}
    		} else {
    			if (sesso == 0)	{
    				String f= JOptionPane.showInputDialog("Inserisca l'età");
    				int etad= Integer.parseInt(f);
    				while (etad < 18 || etad > 90) {
    					String g= JOptionPane.showInputDialog("Ha inserito un'età non accettabile.\nReinserisca l'età :");
    					etad= Integer.parseInt(g);
    					if ( etad >= 18 & etad <= 90) continue;
    				}
    				if (etad >= 18 & etad <= 22) {
    					a = a + 64;
    				}
    				if (etad >= 23 & etad <= 25) {
    					a = a + 64;
    				}
    				if (etad >= 26 & etad <= 30) {
    					a = a + 0;
    				}
    				if (etad >= 31 & etad <= 40) {
    					a = a - 13;
    				}
    				if (etad >= 41 & etad <= 45) {
    					a = a + 39;
    				}
    				if (etad >= 46 & etad <= 50) {
    					a = a + 64;
    				}
    				if (etad >= 51 & etad <= 55) {
    					a = a + 39;
    				}
    				if (etad >= 56 & etad <= 65) {
    					a = a - 34;
    				}
    				if (etad >= 66 & etad <= 70) {
    					a = a + 0;
    				}
    				if (etad > 70) {
    					a = a + 64;
    				}
    			}
    		}
    		JOptionPane.showMessageDialog (null,"Il codice del preventivo del Sig."+   "è\n"+" >>"+ a+"<<");
    		System.exit(0);
    	}
    }
    Slack? Smack!

  4. #4

    GRAAAZIE

    Grazie a tutti per la cortesia, giusto c'avevo pensato ad inserire uno switch, magari ci provo
    SALVE A TUTTI!!!

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.