O soma difícil!

11 respostas
thebadshark

Oi Gente estou estudando pelo livro de Deitel e apareceu um desafio baseado nesse código só que tá complicado.

// Fig. 2.7: Adicao.java
// Programa de adição que exibe a soma de dois números.
import java.util.Scanner; // programa utiliza a classe Scanner

public class Adicao 
{
   // método principal inicia a execução do aplicativo Java
   public static void main( String args[] )
   {
      // cria Scanner para obter entrada a partir da janela de comando
      Scanner input = new Scanner( System.in );            

      int numero1; // primeiro número a somar
      int numero2; // segundo número a adicionar
      int soma; // soma de numero1 e numero2

      System.out.print( "Entre com o primeiro numero inteiro: " ); // prompt
      numero1 = input.nextInt(); // lê primeiro o número fornecido pelo usuário

      System.out.print( "Entre com o segundo numero inteiro: " ); // prompt
      numero2 = input.nextInt(); // lê o segundo número fornecido pelo usuário

      soma = numero1 + numero2; // soma os números

      System.out.printf( "O Total da soma foi de: " + soma ); // exibe a soma sem utilizar %d\n

   } // fim do método principal

} // fim da classe Adicao
Bom como podem percerber é uma simples soma com resultado, só que agora quero colocar esse código em caixas de dialogo, que me pergunte o primeiro número inteiro e armazene me pergunte o segundo número inteiro e me de o resultado dos números em uma última caixa de dialogo.

O código que não quer compilar e que eu gostaria que rodasse seria o seguinte

Fig. 3.18: NameDialog.Java
// Somando com uma caixa de diálogo.
import javax.swing.JOptionPane;

public class DialogoSoma
{
   public static void main( String args[] )
   {
      // pede para o usuário o primeiro valor inteiro
      int numero1;                                          
         JOptionPane.showInputDialog( "Entre com o primeiro valor inteiro" );
	 
      // pede para o usuário o segundo valor inteiro
      int numero2;                                          
         JOptionPane.showInputDialog( "Entre com o segundo valor inteiro" );
	 
	soma = numero1 + numero2; // soma os números

       // cria a mensagem
      String message =                                              
        String.format ( "A soma dos numeros inteiros e: %s " , soma );

      // exibe a mensagem com a soma dos números

      JOptionPane.showMessageDialog( null, message );

   } // fim de main
} // termina a CaixaDialogo
Para muitos sei que isso é uma baba mas para mim ainda to aprendendo e meio perdido, muito obrigado e grato pelas respostas.

Cláudio

11 Respostas

Luiz_Aguiar

Amigo, por favor dê uma lida nesse tópico:
http://www.guj.com.br/posts/list/50115.java

obrigado!

T

caro, como vc setou os valores lidos nas suas variaveis ?

seu codigo está totalmente sem sentido

thiago.correa

VOcê só está errando em um detalhe!!! Aonde você está armazenando o valor digitado pelo usuário, eu não conegui identificar. Ou seja:

numero1 = JOptionPane.showInputDialog( "Entre com o primeiro valor inteiro" ); 

numero2 = JOptionPane.showInputDialog( "Entre com o primeiro valor inteiro" ); 

soma = numero1 + numero2;

System.out.println("Resultado " + soma);
T

int numero1 = Integer.parseInt( JOptionPane.showInputDialog( “Entre com o primeiro valor inteiro” ) );

thiago.correa

Eheheheheheh bem lembrado :lol:

rbamartins

quando vc captura um dado da tela com JOptionPane ele recebe como String. Entao para fazer a soma deve ser feita a conversao como nosso amigo mostrou no tópico logo acima do meu.

thebadshark

Galera, muito obrigado pelas respostas e juro que tentei mas ainda não deu, gostaria que além de incluir os numeros em caixas de dialogo, gostaria que o resultado também aparecesse em uma.

Grato

Thebadshark

Jorgev

Amigo espero que seja isso que vc quer.

import javax.swing.*;

public class Soma
{
	public static void main( String args[] )
	{
		
		int numero1 = Integer.parseInt( JOptionPane.showInputDialog( null, "Digite o primeiro numero: " ) );
		int numero2 = Integer.parseInt( JOptionPane.showInputDialog( null, "Digite o segundo numero: " ) );
		
		int soma = numero1 + numero2;
		
		//transforma os inteiros em strings
		String num1 = Integer.toString( numero1 );
		String num2 = Integer.toString( numero2 );
		String nums = Integer.toString( soma );
		
		//mostra os numeros digitados e a soma
		JOptionPane.showMessageDialog( null, "A soma de " + num1 + " e " + num2 + " é: " + nums );
		
		
		
		//String mostra = String.format( "A soma de " +  + " e " + (String)numero2 + " é: " + (String)soma );
		
	}
}

essa passagem para string poderia ser diferente é que eu tava meio apressado.

Abraço!

thebadshark

Jorgev, muito obrigado pela ajuda. Era isso mesmo que eu estava querendo. Mas sem querer abusar e houver outra passagem da String eu gostaria de ver.

Muito obrigado mesmo.

Thebadshark

Jorgev

Mas sem querer abusar e houver outra passagem da String eu gostaria de ver.

Eu nao entendi o que vc quer dizer com essa parte.

Javabuntu
{
       // pede para o usuário o primeiro valor inteiro
       int numero1;                                          
          JOptionPane.showInputDialog( "Entre com o primeiro valor inteiro" );
 	 
       // pede para o usuário o segundo valor inteiro
       int numero2;                                          
          JOptionPane.showInputDialog( "Entre com o segundo valor inteiro" );
 	 
 	soma = numero1 + numero2; // soma os números
cara, tu declarou as variáveis, mas não armazenou os valores nela, e também tem que fazer a transformação, porque no InputDialog recebe somente String. faça assim:
int numero1 = Integer.parseInt(JOptionPane.showInputDialog( "Entre com o primeiro valor inteiro" ));
int numero2 = Integer.parseInt(JOptionPane.showInputDialog( "Entre com o segundo valor inteiro" ));

quanto a sua segunda dúvida, procure por CASTING.

Criado 23 de maio de 2007
Ultima resposta 26 de mai. de 2007
Respostas 11
Participantes 7