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

    [JAVA] Problema con calcolatrice

    Salve,
    ho voluto fare un semplice calcolatore che somma due numeri.
    Eclipse compila ma quando inserisco i due numeri non mi restituisce alcuna somma e non capisco perchè.

    Posto il codice completo qui in basso.

    codice:
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    
    
    
    public class Calcolatrice extends JFrame {
    	
    	public JButton addButton;
    	public JTextField firstNumber;
    	public JTextField secondNumber;
    	public JTextField answer;
    	public JLabel answerLabel;
    		
    
    	public Calcolatrice(){
    		this.setTitle("Calcolatrice");
    		this.setSize(new Dimension(260,165));
    		this.setLocation(MouseInfo.getPointerInfo().getLocation());
    		this.setLayout(new FlowLayout());
    		this.setResizable(false);
    		this.addComponentListener(new ComponentListener(){
    
    			@Override
    			public void componentHidden(ComponentEvent e) {}
    
    			public void componentMoved(ComponentEvent e) {}
    
    			public void componentResized(ComponentEvent e){}
    			
    			public void componentShown(ComponentEvent e) {
    				Calcolatrice_Load();
    			}
    			
    		});
    		
    		
    		
    		this.addButton = new JButton();
    		this.addButton.setText("Add");
    		this.addButton.addActionListener(new ActionListener(){
    			
    			public void actionPerformed(ActionEvent e){
    				addButton_ActionPerformed();
    			}
    		});
    		
    		this.firstNumber = new JTextField();
    		this.firstNumber.setText("                                                           ");
    		
    		this.secondNumber = new JTextField();
    		this.secondNumber.setText("                                                              ");
    		
    		this.answer = new JTextField();
    		this.answer.setText("                                                   ");
    		this.answer.setEditable(false);
    		
    		this.answerLabel = new JLabel();
    		this.answerLabel.setText("Risultato:                                                      ");
    		
    		add(addButton);
    		add(firstNumber);
    		add(secondNumber);
    		add(answerLabel);
    		add(answer);
    			
    	}
    	
    	private void Calcolatrice_Load(){
    		firstNumber.setText("                                 ");
    		secondNumber.setText("                                ");
    		answer.setText("                      ");
    		
    	}
    	
    	private void addButton_ActionPerformed(){
    		
    		try{
    		     int num1 , num2;
    		     num1 = Integer.parseInt(firstNumber.getText());
    		     num2 = Integer.parseInt(secondNumber.getText());
    		     int answer2 = num1+num2;
    		     answer.setText(String.valueOf(answer2));
    		}catch(Exception ex){
    		
    		}
    		
    	}
    }
    codice:
    public class main {
    	
    	public static void main(String[] args){
    		
    		Calcolatrice newform = new Calcolatrice();
    		newform.setVisible(true);
    		
    	}
    
    }

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    sono inutili le eccezioni se non stampi lo stacktrace

    java.lang.NumberFormatException

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    cmq cambia

    num1 = Integer.parseInt(firstNumber.getText());
    num2 = Integer.parseInt(secondNumber.getText());

    e metti

    num1 = Integer.parseInt(firstNumber.getText().trim());
    num2 = Integer.parseInt(secondNumber.getText().trim());


    ps se l'utente ti metterà un numero non valido ti scoppierà ugualmente

  4. #4
    grazie mille

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prego! comunque stampalo lo stacktrace

    catch(Exception ex){
    ex.printStackTrace();
    }

  6. #6
    Sicuramente non ha più errori perché sono tutti quegli spazi che gli davano errore.

    Sarai un neofita, ma ci sono i Layout Manager per modellare i componenti grafici denza inserire gli spazi.
    http://docs.oracle.com/javase/tutori...ut/visual.html
    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

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.