Ola estou começando a ver java agora na faculdade e não consigo fazer este programa funcionar da forma q quero
O programa recebe do usuário dois números inteiros positivos e o tipo de operação a ser realizada.
Verifica o tipo de operador e realize a operação correspondente. Apresente o resultado ao usuário.
[code] import javax.swing.JOptionPane;
public class Exercicio_4 {
public static <string> void main (String args[]) {
int num1 = 0;
int num2 = 0;
int soma;
int subtrair;
int veses;
float dividir;
int res = 0;
num1 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite um numero:"));
num2 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Segundo numero:"));
soma = num1 + num2;
subtrair = num1 - num2;
veses = num1 * num2;
dividir = num1 / num2;
switch (res){
case 1 :
JOptionPane.showMessageDialog(null," O resultado é: " + soma);
break;
case 2 :
JOptionPane.showMessageDialog(null," O resultado é: " + subtrair);
break;
case 3 :
JOptionPane.showMessageDialog(null," O resultado é: " + veses);
break;
case 4 :
JOptionPane.showMessageDialog(null," O resultado é: " + dividir);
break;
}
}
}[/code]
Se alguém puder me ajudar desde já agradeço…
Não vai imprimir nada, porque você não está setando o valor de res, ele é sempre zero.
Tenta setar depois de digitar os numeros
[code]num1 = Integer.parseInt(JOptionPane.showInputDialog(null,“Digite um numero:”));
num2 = Integer.parseInt(JOptionPane.showInputDialog(null,“Digite Segundo numero:”));
res = Integer.parseInt(JOptionPane.showInputDialog(null,“Digite [1]Soma,[2]Subtrair… e por aí vai:”));
[/code]
Tenho certeza que esse código não ficou bom mas…
[code]package com.infoplus.dao;
import javax.swing.JOptionPane;
public class Exercicio_4 {
public static double funcao(char operador, int num1, int num2) {
switch(operador) {
default:
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
return num1 / num2;
}
}
public static void main(String args[]) {
int num1 = Integer.parseInt(JOptionPane.showInputDialog(null,
"Digite um numero:"));
int num2 = Integer.parseInt(JOptionPane.showInputDialog(null,
"Digite Segundo numero:"));
String operador = JOptionPane.showInputDialog(null, "Digite o operador: ");
JOptionPane.showMessageDialog(null, " O resultado é: " + funcao(operador.charAt(0), num1, num2));
}
}[/code]
Vlw pela ajuda pessoal
depois q eu setei o res no meu código funcionou
e tbm testei o outro e funcionou
mas pra divisão os 2 dão o resultado
errado se for decimal
alguém sabe por que?
Por suas variáveis são do tipo inteiro (int) mude para o tipo decimal (float ou double)