boa tarde , como faço para indicar para o o usuario inserir numeros aleatorio double ou float ou inteiro e a aplicaçao indetificar e usar os metodos que foram cirados ?
eu usei todos double porem se for inseridos 2 numero inteiros o retorno e um double q e logico , porem a minha duvida e como faser a aplicação saber ser for inserido 2+2=4 ou 1.5 +2 = 3.5 …
package br.com.projecao.listasOOexe03;
/*
* Crie uma classe uma Classe chamada MetodosSobrecarregados ,
* nesta classe deve conter métodos
* para somar inteiros, double, float e String;
*
* */
public class MetodosSobrecarregados {
public int soma(int x, int y) {
//polimorfismo por sobrecarga (parametro tem o tipo na esquerda INT)
return x + y;
}
public double soma ( double x, double y){
return x+y;
}
public float soma(float x , float y ){
return x+y;
}
public String palavras (String a, String b){
return "foi digitado "+a+" e "+b;
}
}
criacao dos metodos
package br.com.projecao.listasOOexe03;
import javax.swing.JOptionPane;
public class TesteMetodosSobrecarregados extends MetodosSobrecarregados{
/**
* uma segunda classe chamada TesteMetodosSobrecarregados com o método main.
* b. O usuário irá definir o que ele quer somar, portanto crie uma rotina
* onde o usuário informará qual será soma e exiba o resultado ao final da
* rotina;
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
double n1=Double.parseDouble(JOptionPane.showInputDialog("Digite um numero com o sem casas decimais"));
double n2=Double.parseDouble(JOptionPane.showInputDialog("Digite outro numero com o sem casas decimais"));
MetodosSobrecarregados m= new MetodosSobrecarregados();
System.out.println(m.soma(n1,n2));
*/
int op =Integer.parseInt(JOptionPane.showInputDialog(null, "digite a opção \n 1- para lidar com soma numerica \n 2- para lidar com caracteres "));
switch (op){
case 1:{
double n1=Double.parseDouble(JOptionPane.showInputDialog("Digite um numero com o sem casas decimais"));
double n2=Double.parseDouble(JOptionPane.showInputDialog("Digite outro numero com o sem casas decimais"));
MetodosSobrecarregados m= new MetodosSobrecarregados();
System.out.println(m.soma(n1,n2));
break;
}
case 2:{
String n1=JOptionPane.showInputDialog("digite a letra ou palavra ");
String n2=JOptionPane.showInputDialog("digite outra letra ou palavra");
MetodosSobrecarregados m= new MetodosSobrecarregados();
System.out.println(m.palavras(n1,n2));
break;
}
default: {JOptionPane.showMessageDialog(null,"escolhas uma das opções ");
break;}
}
}
}
execuçao