Duvida e Erros - JOption Programa Media

7 respostas
G

Pessoal, o q esta errado no codigo abaixo ???

Outra duvida…
JOptionPane.showInputDialog funciona como String ou int???
pois ja q estou trabalhando com numeros… fiz o teste mas deu erro!
e o JOptionPane.showMessageDialog String ou int???

import javax.swing.JOptionPane;


public class TresPalavras
{

public static void main(String[] args) {



String nota1 = "";

String nota2 = "";

String nota3 = "";


nota1 = JOptionPane.showInputDialog("Nota 1");

nota2 = JOptionPane.showInputDialog("Nota 2");

nota3 = JOptionPane.showInputDialog("Nota 3");

int media = (nota1 + nota2 + nota3) / 3;	

        String msg = "Media = " + media;

	JOptionPane.showMessageDialog(null, msg);

}

}

7 Respostas

lina

Oi,

JOptionPane é uma String, quando você digitar um número na caixa de texto vai gerar exceção, pois você não esta fazendo uma conversão.

ex:

int nota1;
nota1 = Integer.parseInt(JOptionPane.showInputDialog("Nota 1: "));

Nesse código estou passando a “função Integer.parseInt” para transformar ou converter valor inteiros para o JOption.

Olhando um pouco mais para baixo… sua variavel “media” é inteiro… e esta recebendo valor como String… isso é impossivel… passe suas variaveis nota para inteiras. ai sim… ficara funcionando.

tchauzin!

Raff

Ola amigo, manco nossa amiga disse tem que converter cara :slight_smile: por que o JOptionPane trabalha como String :slight_smile: valew ai !!!

Qualquer duvida posta ai!!!

Raff

Correção do seu codigo amigo é bom que seu atributo media seja do double cara pois media pode ser “valor quebrado”. pode ser que não sai o valor que você esperava…

valew!

G

Aewwww… agora funcionou!!!

Mas assim… como faco para limitar as casas decimais…

Media =4,[telefone removido]!!!

import javax.swing.JOptionPane;


public class TresPalavras
{

public static void main(String[] args) {



double nota1 = 0;

double nota2 = 0;

double nota3 = 0;


nota1 = Integer.parseInt(JOptionPane.showInputDialog("Nota 1: ")); 

nota2 = Integer.parseInt(JOptionPane.showInputDialog("Nota 2: ")); 

nota3 = Integer.parseInt(JOptionPane.showInputDialog("Nota 3: ")); 


double media = (nota1 + nota2 + nota3) / 3;	

        String msg = "Media = " + media;

	JOptionPane.showMessageDialog(null, msg);

}

}
Marky.Vasconcelos

NumberFormat df = new DecimalFormat("##,##"); System.out.println(df.format(media));

lina

Oi,
Raff… !!!

amigo, você esta utilizando as variaveis double… entao a “conversão” seria Double.parseDouble…

Tchauzin!

G

AAAAAhhhhhh agora tah explicado pq eu nao conseguia inserir numero fracionario, ehheehe.... OBRIGADO!

Nao entendi qnto ao formato... limitar casa decimal!

import javax.swing.JOptionPane;


public class TresPalavras
{

public static void main(String[] args) {



double nota1 = 0;

double nota2 = 0;

double nota3 = 0;


nota1 = Double.parseDouble(JOptionPane.showInputDialog("Nota 1: ")); 

nota2 = Double.parseDouble(JOptionPane.showInputDialog("Nota 2: ")); 

nota3 = Double.parseDouble(JOptionPane.showInputDialog("Nota 3: ")); 


double media = (nota1 + nota2 + nota3) / 3;	


	String msg = "Media = " + media;


	JOptionPane.showMessageDialog(null, msg);

}

}
Criado 8 de maio de 2007
Ultima resposta 8 de mai. de 2007
Respostas 7
Participantes 4