Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
gabrielcl3

Duvida - Soma de 3 números

Recommended Posts

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.*;

Editado por dif
tag CODE

Compartilhar este post


Link para o post
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

Editado por dif
Tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Coloquei o String valor ="" como você falou mas ainda continuou dando o error =/

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×