Ir ao conteúdo
  • Cadastre-se

Duvida - Soma de 3 números


gabrielcl3

Posts recomendados

Estou começando a aprender programação e Java e meu professor pediu um trabalho onde uma pessoa informa 3 números e o programa tem que somar os 3.

To a um tempo tentando fazer funcionar mas até agora nada kk, da uma mensagem de error indicando que o error está em +soma. Se alguém poder me ajudar fico realmente grato porque não sei mais o que fazer '-'

"error: cannot find symbol

JOptionPane.showMessageDialog(null, "Resultado: "+soma);"

Classe Principal:


public static void main(String[] p){
Interface aInterface = new Interface();
int num1 = 0;
int num2 = 0;
int num3 = 0;
int soma;
soma = num1+num2+num3;
aInterface.pegarNumero1();
aInterface.pegarNumero2();
aInterface.pegarNumero3();
aInterface.mostrarResultado();

}
}
public class Principal{

Classe Interface:


public class Interface {
public Interface() {
}
public int pegarNumero1(){
String valor1;
valor1 = JOptionPane.showInputDialog(null, "Digite o primeiro número.");
int num1 = Integer.parseInt(valor1);
return num1;
}
public int pegarNumero2(){
String valor2;
valor2 = JOptionPane.showInputDialog(null, "Digite o segundo número.");
int num2 = Integer.parseInt(valor2);
return num2;
}
public int pegarNumero3(){
String valor3;
valor3 = JOptionPane.showInputDialog(null, "Digite o terceiro número.");
int num3 = Integer.parseInt(valor3);
return num3;
}
public void mostrarResultado(){
JOptionPane.showMessageDialog(null, "Resultado: "+soma);
}

}
import javax.swing.*;

Link para o comentário
Compartilhar em outros sites

Ola beleza

Tenta criar na classe principal um variavel String valor, pode ser q na hora em q você converte string para int ele possa chamar a variavel valor.

Ex:

Classe Principal

public class Principal{
public static void main(String[] p){
Interface aInterface = new Interface();
String valor= "";
int num1 = 0;
int num2 = 0;
int num3 = 0;
int soma;
soma = num1+num2+num3;
aInterface.pegarNumero1();
aInterface.pegarNumero2();
aInterface.pegarNumero3();
aInterface.mostrarResultado();

}
}

espero ter ajudado........flwsss;);):D

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá gabrielcl3.

1) Erro de compilação

Veja o erro dado:

"error: cannot find symbol
JOptionPane.showMessageDialog(null, "Resultado: "+soma);"

Está informando que a variável o atributo soma não foi encontrado, ou seja, você está usando algo que não existe neste escopo.

2) "Ordem dos tratores"

Classe Principal:

[color=#0000ff]public class[/color] Principal[color=#000000]{[/color]
[color=#0000ff]public static[/color] void [color=#00007f]main[/color][color=#000000]([/color]String[color=#000000][][/color] p[color=#000000]){[/color]
Interface aInterface [color=#000000]=[/color] [color=#0000ff]new[/color] [color=#00007f]Interface[/color][color=#000000]();[/color]
int num1 [color=#000000]=[/color] [color=#ffa500]0[/color][color=#000000];[/color]
int num2 [color=#000000]=[/color] [color=#ffa500]0[/color][color=#000000];[/color]
int num3 [color=#000000]=[/color] [color=#ffa500]0[/color][color=#000000];[/color]
int soma[color=#000000];[/color]
[B]soma [color=#000000]=[/color] num1[color=#000000]+[/color]num2[color=#000000]+[/color]num3[color=#000000];[/color][/B]
aInterface[color=#000000].[/color][color=#00007f]pegarNumero1[/color][color=#000000]();[/color]
aInterface[color=#000000].[/color][color=#00007f]pegarNumero2[/color][color=#000000]();[/color]
aInterface[color=#000000].[/color][color=#00007f]pegarNumero3[/color][color=#000000]();[/color]
aInterface[color=#000000].[/color][color=#00007f]mostrarResultado[/color][color=#000000]();[/color]

[color=#000000]}[/color]
[color=#000000]}[/color]

Você está somando os valores antes mesmo de obtê-los. Logo, a soma sempre será 0.

Primeiro se coleta o valores, depois os soma.

3) Coletar dos valores

	[color=#0000ff]public[/color] int [color=#00007f]pegarNumero1[/color][color=#000000](){[/color]
String valor1[color=#000000];[/color]
valor1 [color=#000000]=[/color] JOptionPane[color=#000000].[/color][color=#00007f]showInputDialog[/color][color=#000000]([/color][color=#0000ff]null[/color][color=#000000],[/color] [color=#483d8b]"Digite o primeiro número."[/color][color=#000000]);[/color]
int num1 [color=#000000]=[/color] Integer[color=#000000].[/color][color=#00007f]parseInt[/color][color=#000000]([/color]valor1[color=#000000]);[/color]
[color=#0000ff]return[/color] num1[color=#000000];[/color]
[color=#000000]}[/color]

Você criou um método que pega o valor do usuário, e o "retorna este nele mesmo", ou seja, o valor lido será retornado no próprio método. Logo, você precisaria "pegá-lo".

Ex.:

		num1[color=#000000]=[/color]aInterface[color=#000000].[/color][color=#00007f]pegarNumero1[/color][color=#000000]();[/color]

4) Impressão dos dados

Como a soma está na classe Principal e a estritura de impressão está na classe Interface, ou seja, em outra classe, logo você pode passar a soma via parâmetro.

Ex.:

	[color=#0000ff]public[/color] void [color=#00007f]mostrarResultado[/color][color=#000000]([/color]int soma[color=#000000]){[/color]
JOptionPane[color=#000000].[/color][color=#00007f]showMessageDialog[/color][color=#000000]([/color][color=#0000ff]null[/color][color=#000000],[/color] [color=#483d8b]"Resultado: "[/color][color=#000000]+[/color]soma[color=#000000]);[/color]
[color=#000000]}[/color]

***

Por enquanto acho que é isso...

No aguardo.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!