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

    problema richiesta dati da pop-up

    ciao

    col codice sotto indicato vorrei ricevere con 3 richieste diverse :
    -un primo numero
    -un carattere
    -un secondo numero

    volevo usare dei metodi statici per non allocare oggetti ;

    riesco ad ottenere i pop-up solo delle prime 2 , la terza non compare ed
    il campo relativo ha lo stesso valore del primo numero , dove sbaglio ?

    codice:
    import java.util.*;
    import java.lang.*;
    import java.awt.*;
    import javax.swing.*;
    
    public class CalcolatriceNew 
    {
       public static void main (String[] args)  {  
    
          char campo_char = ' ' ;
          int campo_int1  = 0 ; 
          int campo_int2  = 0 ; 
          int campo_int3  = 0 ;  
          String campo_string  = " " ;
          String campo_string1 = " " ;
          String campo_string2 = " " ; 
          String campo_string3 = " " ;
          boolean boolean_1 = true ;       
          boolean boolean_2 = true ;
          
          while (boolean_1 == true)  
             {
    
             /**  richiesta primo numero  */
             campo_string  = "inserire primo numero : " ; 
             campo_int1    = CalcolatriceNewDomande.numero(campo_string) ; 
    
             /**  richiesta operazione    */
             campo_string  = "inserire operazione da effettuare : +,-,*,/" ; 
             campo_char    = CalcolatriceNewDomande.operazione(campo_string) ; 
    
             /**  richiesta secondo numero  */
             campo_string  = "inserire secondo numero : " ; 
             campo_int2    = CalcolatriceNewDomande.numero(campo_string) ; 
    
             boolean boolean_1 = false ; 
             }
    
          System.exit(0) ;  
    
          }  /* fine void main */
       
    }

    codice:
    import java.util.*;
    import java.lang.*;
    import java.awt.*;
    import javax.swing.*;
    
    public class CalcolatriceNewDomande 
    {
       private static int    campo_int1    ; 
       private static char   campo_char1   ; 
       private static String campo_string1 ;
       private static String campo_string2 ; 
       private static String campo_string3 ;
    
       public static  ()  
          {  
           campo_int1    = 0 ; 
           campo_char1   = ' ' ; 
           campo_string1 domanda ;
           campo_string2 = " " ; 
           campo_string3 domanda ;
          } 
    
    
       public static int numero (String domanda)  
          {  
         //  campo_string1 = domanda ;
         //  campo_string3 = domanda ;
           while ( campo_int1 == 0 )  
              {  
               try  {  
                     campo_string2 = JOptionPane.showInputDialog(campo_string1) ;   
                     campo_int1    = Integer.parseInt (campo_string2) ;  
                     System.out.println(domanda + campo_int1) ; 
                     return (campo_int1)
                    }  
               catch(Exception a) 
                    {  
                     campo_string1 = "valore non numerico : " + campo_string2 + " , " + campo_string3 ; 
                     campo_int1 = 0 ; 
                     a.printStackTrace() ; 
                    }      
              } 
    
          } 
    
    
       public static char operazione (String domanda)  
          {  
         //  campo_string1 = domanda ;
         //  campo_string3 = domanda ;
           while ( campo_char1 == ' ' )  
              {  
               try  {  
                     campo_string2 = JOptionPane.showInputDialog(campo_string1) ;   
                     campo_char1    = campo_string2.charAt(0) ;   
                     System.out.println(domanda + campo_char1) ; 
                     return (campo_char1)
                    }  
               catch(Exception a) 
                    {  
                     campo_string1 = "valore errato : " + campo_string2 + " , " + campo_string3 ; 
                     campo_char1 = ' ' ; 
                     a.printStackTrace() ; 
                    }       
              } 
    
          } 
       
    }
    grazie ciao

  2. #2
    cos'è

    public static () ?

    il costruttore della CalcolatriceNewDomande semmai deve essere

    codice:
    static CalcolatriceNewDomande ()
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    che poi non capisco che senso abbia fare un costruttore static (anche se il linguaggio lo ammette). O usare un linguaggio OO senza istanziare oggetti
    Io farei public e non static.
    Quello che devi rendere statico è il metodo, non la classe. Il fatto stesso che utilizzi costruttore significa che ti serve avere uno stato iniziale sempre certo e controllato.

    Se non vuoi creare sempre un nuovo oggetto, creane uno all'inizio, crea un metodo di reset che ti riporta allo stato iniziale, quindi fai sempre una chiamata a reset nella prima istruzione in cui chiedi il valore da inserire.
    Questa è una soluzione object oriented
    RTFM Read That F*** Manual!!!

  4. #4
    grazie

    riproverò col reset ;

    non volevo istanziare oggetti perchè la classe deve solo passarmi dei dati ,
    visto che poi non utilizzo più l'oggetto ; mi pare che la classe math
    funzioni così ..

    io poi sono un agli inizi

    cmq grazie

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ci siamo, ma se chiedi il costruttore diciamo che c'è altro sotto.
    Fai il metodo statico in modo che tutto quello che gli serve o glielo passi come parametro o se lo istanzia lui.

    PS i metodi statici in java hanno la loro motivazione, occhio a come li usi
    RTFM Read That F*** Manual!!!

  6. #6
    ok , grazie

    io non è che volessi il costruttore , infatti la classe era :

    codice:
    import java.util.*;
    import java.lang.*;
    import java.awt.*;
    import javax.swing.*;
    
    public class CalcolatriceNewDomande 
    {
       private static int    campo_int1    ; 
       private static char   campo_char1   ; 
       private static String campo_string1 ;
       private static String campo_string2 ; 
       private static String campo_string3 ;
    
       static    
          {  
           campo_int1    = 0 ; 
           campo_char1   = ' ' ; 
           campo_string2 = " " ; 
          } 
    
       public static int numero (String domanda)  
          {  
           campo_string1 = domanda ;
           campo_string3 = domanda ;
           while ( campo_int1 == 0 )  
              {  
               try  {  
                     campo_string2 = JOptionPane.showInputDialog(campo_string1) ;   
                     campo_int1    = Integer.parseInt (campo_string2) ;  
                     System.out.println(domanda + campo_int1) ; 
                    }  
               catch(Exception a) 
                    {  
                     campo_string1 = "valore non numerico : " + campo_string2 + " , " + campo_string3 ; 
                     campo_int1 = 0 ; 
                     a.printStackTrace() ; 
                    }      
              } 
           return (campo_int1) ; 
    
          } 
    
    
       public static char operazione (String domanda)  
          {  
           campo_string1 = domanda ;
           campo_string3 = domanda ;
           while ( campo_char1 == ' ' )  
              {  
               try  {  
                     campo_string2 = JOptionPane.showInputDialog(campo_string1) ;   
                     campo_char1    = campo_string2.charAt(0) ;   
                     System.out.println(domanda + campo_char1) ; 
                    }  
               catch(Exception a) 
                    {  
                     campo_string1 = "valore errato : " + campo_string2 + " , " + campo_string3 ; 
                     campo_char1 = ' ' ; 
                     a.printStackTrace() ; 
                    }       
              } 
           return (campo_char1) ; 
    
          } 
       
    }
    quindi la definizione e al valorizzazione dei campi dovrei farla dentro i metodi ?

    scusa ma stò imparando ; cosa intendi per istanziare dentro il metodo ?

    grazie mille , ciao

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.