Sou iniciante e preciso criar um aplicativo que faça o produto de dois números impares com intervalo sugerido pelo usuário (limiteInferior) e (limiteSuperior).
Sendo que um dos métodos é implementar um método para verificar se o numero é ou não par. Este método deverá ser acionado somente para testar o limiteInferior:
Eu fiz dá seguinte maneira:
public boolean ehPar(int numero) {
{ return numero % 2 == 0; }
Alguma sugestão do que eu possa fazer pra valer somente para o (limiteInferior) ?
Como assim? Pode citar um exemplo?
Quando for postar aqui, selecione todo o código e aperte no botão </>
, para ficar formatado!
Voltando ao problema, porque você não passa apenas o valor do limite inferior? Não entendi muito bem essa questão de limite?! Se tiver poste o código todo.
package calcuraimpare;
import javax.swing.JOptionPane;
public class Intervalo {
private int limiteInferior;
private int limiteSuperior;
public Intervalo(int limiteInferior, int limiteSuperior) {
this.limiteInferior = limiteInferior;
this.limiteSuperior = limiteSuperior;
}
public int getLimiteInferior() {
return limiteInferior;
}
public void setLimiteInferior(int limiteInferior) {
this.limiteInferior = limiteInferior;
}
public int getLimiteSuperior() {
return limiteSuperior;
}
public void setLimiteSuperior(int limiteSuperior) {
this.limiteSuperior = limiteSuperior;
}
// implementar um método para verificar se o numero é ou não par. Este método deverá ser acionado somente para testar o limiteInferior
// public boolean ehPar(int numero){
//
// }
public boolean ehPar(int numero) {
if limiteInferior = ( % 2 == 0);
return true;
}
if else{
}
// implementar um método para calcular o produto entre os números impares do intevalo fornecido pelo usuário
// não esquecer de, primeiramente, verificar se o limite inferior é ou não impar, pois sendo par, não poderá ser computado
// public int prodImparesIntervalo(){
//
// }
//
1 curtida
Oi, acho que ainda não entendi a essência do problema! Mas tendo como base este comentário:
//implementar um método para calcular o produto entre os números impares do intevalo fornecido pelo usuário
não esquecer de, primeiramente, verificar se o limite inferior é ou não impar, pois sendo par, não poderá ser computado`
Refazendo os dois últimos métodos!
private boolean ehPar(int numero) {
if (numero % 2 == 0){
return true;
}else{
return false;
}
}
public int prodImparesIntervalo(){
int produto = 1;
if(ehPar(limiteInferior)){
limiteInferior += 1; //se for par vai para o próximo
}
// i pula os números pares(i=i+2)
for(int i = limiteInferior; i<=limiteSuperior; i=i+2){
produto*=i
}
return produto;
}
O método mutiplica todos os números primos no intervalo mencionado e não o produto de dois numeros apenas!
Exemplo:
limiteSuperio: 7
LimiteInferior: 1
Produto: 1 x 3 x 7 = 21;
Foi o que eu consegui pensar agora, com certeza tem como melhorar! Esse código pode ter vários problemas, tipo se o limite inferio e superior for igual. Esse código vai produzir o resultado errado!
- Então os limites podem ser igual nos teste que você vai fazer?
- O limite superior sempre é Impa?
1 curtida
Agradeço desde já, esse código me ajudou **MUITO!**
1. Podem sim
2. Sim
Na verdade a ideia era fazer um aplicativo que calcula o produto dos inteiros ímpares de 1 ao 15 e então exiba o resultado, só que dai eu atribui os atributos de **limite inferior e limite superior** para aplicar os conceito de orientação objeto,.
A parte de diferenciar numero impar e par era como objetivo treinar a implementação de métodos e chamadas a eles.
Como estou no primeiro semestre de SI, a professora pediu pra criar uma classe principal (main) e outra classe (Intervalo). Segue o código deles:
package calcuraimpare;
public class Intervalo {
private int limiteInferior;
private int limiteSuperior;
public Intervalo(int limiteInferior, int limiteSuperior) {
this.limiteInferior = limiteInferior;
this.limiteSuperior = limiteSuperior;
}
public int getLimiteInferior() {
return limiteInferior;
}
public void setLimiteInferior(int limiteInferior) {
this.limiteInferior = limiteInferior;
}
public int getLimiteSuperior() {
return limiteSuperior;
}
public void setLimiteSuperior(int limiteSuperior) {
this.limiteSuperior = limiteSuperior;
}
// implementar um método para verificar se o numero é ou não par. Este método deverá ser acionado somente para testar o limiteInferior
// public boolean ehPar(int numero){
//
// }
boolean ehPar(int numero) {
if (numero % 2 == 0) {
return true;
} else {
return false;
}
}
// implementar um método para calcular o produto entre os números impares do intevalo fornecido pelo usuário
// não esquecer de, primeiramente, verificar se o limite inferior é ou não impar, pois sendo par, não poderá ser computado
public int prodImparesIntervalo() {
int produto = 1;
if (ehPar(limiteInferior)) {
limiteInferior += 1;
}
for (int i = limiteInferior; i <= limiteSuperior; i = i + 2) {
produto *= i;
}
return produto;
}
}
Main:
package calcuraimpare;
import javax.swing.JOptionPane;
public class Principal {
public static void main(String[] args) {
// Solicita, ao usuário, as informações referentes ao limite inferior e superior
int limInferior = Integer.parseInt(JOptionPane.showInputDialog(null, "Limite inferior?", "Aplicação", 3));
int limSuperior = Integer.parseInt(JOptionPane.showInputDialog(null, "Limite superior?", "Aplicação", 3));
Intervalo objIntervalo = new Intervalo(limInferior, limSuperior); //instancia o objeto passando as informações
//falta acionar o método para retornar o produto
System.exit(0);
1 curtida