Dúvida com JOptionPane

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!

[b]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 :slight_smile: no resultado se a média for
maior ou igual a 6,0; caso contrário mostre :frowning:

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.[/b]

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:

[code]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+" :-(");
    }

    }

}[/code]

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

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…

[quote=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…[/quote]
De nada!
Isso mesmo!
Tem que usar o CAST

Visite meu blog quando puder tem alguns posts legais

vlw

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…