Dúvida com JOptionPane

4 respostas
sanzo

Tenho que completar um exercicio do curso o qual estou participando, no entanto estou tendo dificuldade na conclusão...

é bem básico e pode ser considerado besteira, mas, ja tentei de varias formas e não consigo achar a solução!

5. Exercícios

5.1. Notas

Obtenha do usuário três notas de exame e calcule a média dessas notas. Reproduza a média
dos três exames. Junto com a média, mostre também um :-) no resultado se a média for
maior ou igual a 6,0; caso contrário mostre :-(

Faça duas versões deste programa:

1. Use a classe BufferedReader (ou a classe Scanner) para obter as notas do usuário, e
System.out para mostrar o resultado.

2. Use JOptionPane para obter as notas do usuário e para mostrar o resultado.

bem...

comsegui fazer a parte (1) usando a classe Scanner, mas estou tendo dificuldade em fazer o mesmo com a JOptionPane, pois aqui o NetBeans diz que JOptionPane.showInputDialog(); não pode receber um INT e se eu receber como STRING não da pra fazer o cálculo...

alguem da uma dica?

esse é o codigo que eu consegui usando a Scanner:

package Exercicios;

import java.util.Scanner;



/**
 *
 * @author Sanzo
 */
public class Exercicio1 {
    public static void main(String args[]){
        
       Scanner nota1 = new Scanner(System.in);
       System.out.println("Digite a 1ª nota: ");
       double n1 = nota1.nextDouble();

       Scanner nota2 = new Scanner(System.in);
       System.out.println("Digite a 2ª nota: ");
       double n2 = nota2.nextDouble();

       Scanner nota3 = new Scanner(System.in);
       System.out.println("Digite a 3ª nota: ");
       double n3 = nota3.nextDouble();


       
       double soma = n1+n2+n3;
    double resultado = soma / 3;
    if (resultado > 6.0){
        System.out.println(resultado +" :-)");
    }else{
        System.out.println(resultado+" :-(");
    }

    }

}

4 Respostas

UMC

Você faz o cast recebe String e passa para Integer!

ex:

String texto =JOptionPane.showInputDialog("Entre com o valor"); int numero = Integer.parseInt(texto);

vlw

sanzo

Muito obrigado,

Mas, fico a me perguntar se este é o unico meio de conseguir o resultado, pois como o exercicio é parte de conclusão de uma apostila, e a apostila em si não falou nada sobre CAST, será que há algumoutro metodo, mas Muito obrigado mesmo… com seu exemplo ja posso concluir o exercicio… vou postar o codigo!

vlw…

UMC

sanzo:
Muito obrigado,

Mas, fico a me perguntar se este é o unico meio de conseguir o resultado, pois como o exercicio é parte de conclusão de uma apostila, e a apostila em si não falou nada sobre CAST, será que há algumoutro metodo, mas Muito obrigado mesmo… com seu exemplo ja posso concluir o exercicio… vou postar o codigo!

vlw…


De nada!
Isso mesmo!
Tem que usar o CAST

Visite meu blog quando puder tem alguns posts legais

vlw

pedroroxd

Não tem como fazer o exercício sem fazer a conversão…
E outra, nesse caso não é cast
Cast seria algo do tipo

int valor = (int)3.45; //o cast é o (int) que faz a conversão System.out.println(valor); //ou Pessoa pessoa = (Pessoa)other; // cast (Pessoa)
o .toString / .valueOf() / Integer.parseInt() são não…
Cast é quando vc pega um valor primitivo e faz o ().
Nesse seu caso é Conversão
Mas voltando, não tem como você fazer o exercício sem fazer algo do tipo:

int numero = Integer.parseInt(JOptionPane.showInputDialog("Digite um número")); //CONVERÇÃO e não cast

Ou ler num scanner…

Criado 29 de abril de 2010
Ultima resposta 29 de abr. de 2010
Respostas 4
Participantes 3