Ola novamente, agora um nooovo probleminha
a prof quer que faca um prog que pege o numerador , denominador e faca as continhas normais.
soma multiplica subtrai… essas coisinhas
ate ai blz
so que ela quer que imprima o resultado com o /
o meu prog ate agora esta assim
[code]public class Racional {
private double soma, subtrai, multiplica, divide, op;
public Racional(){}
public void setSomaRacional(int n1, int n2, int d1, int d2){
soma = (n1*d2)+ (n2*d1)/(d1*d2);
}
public void setSubtraiRacional(int n1, int n2, int d1, int d2){
subtrai = (n1*d2)- (n2*d1)/(d1*d2);
}
public void setMultiplicaRacional(int n1, int n2, int d1, int d2){
multiplica = ((n1*n2)/ (d1*d2));
}
public void setDivideRacional(int n1, int n2, int d1, int d2){
divide = ((n1*d2)/(n2*d1));
}
public double getSomaRacional(){
return soma;
}
public double getSubtraiRacional(){
return subtrai;
}
public double getMultiplicaRacional(){
return multiplica;
}
public double getDiviteRacional(){
return divide;
}
}[/code]
falta fazer o toString… que nao sei como vou fazer
e mostrar na tela o doable como se fosse um int em cima do outro
:roll:
que foi justamente onde travei…
o prog vai ser rodado em outra classe…
que ainda nao terminei…
mas essa dai eh que eh a que travei =(
kairy
Você não concorda que se a for pra somar duas frações a fórmula que ela colocou:
public void setSomaRacional(int n1, int n2, int d1, int d2){
soma = (n1*d2)+ (n2*d1)/(d1*d2);
}
estaria errada ?
[/quote]
Olá zeed, o dela está correto também, só dei algumas idéias… mas o exemplo do raciocínio que vc deu creio que esteja errado, os numeradores são os números de cima (1 e 3)
Não entendi o que você quis dizer…
Veja bem o metodo que ela postou é:
public void setSomaRacional(int n1, int n2, int d1, int d2){
soma = (n1*d2)+ (n2*d1)/(d1*d2);
}
ou seja, entram 4 números e faz-se algumas operações com estes números…
se entrando 1,2,3,2 nessa sequencia a intenção era somar as frações 1/2 e 3/2
a fórmula teria que ser:
public void setSomaRacional(int n1, int d1, int n2, int d2){
soma = (n1/d1) + (n2/d2)
//substituindo teriamos soma = (1/2) + (3/2)
}
O que você quis dizer com “os numeradores seriam os numeros de cima (1 e 3)”.
De qualquer forma entendo que na fórmuma esta faltando parenteses para que faça primeiro a soma das multiplicações…
Não é pra usar double no seu programa. Estude o programa abaixo e o complete.
class Racional {
private static long mdc (long a, long b) {
while (a % b != 0) {
long tmp = b;
b = a % b;
a = tmp;
}
return b;
}
private static long mmc (long a, long b) {
return a / mdc (a, b) * b;
}
/** Numerador */
long n;
/** Denominador */
long d;
public Racional (long numerador, long denominador) {
n = numerador;
d = denominador;
}
public String toString() {
return n + "/" + d;
}
public Racional adicionar (Racional a) {
return new Racional (... complete aqui);
}
public Racional subtrair (Racional a) {
return new Racional (... complete aqui);
}
public Racional multiplicar (Racional a) {
return new Racional (... complete aqui);
}
public Racional dividir (Racional a) {
return new Racional (... complete aqui);
}
public static void main(String[] args) {
Racional a = new Racional (3, 4);
Racional b = new Racional (1, 3);
System.out.println (a.adicionar(b));
System.out.println (a.subtrair(b));
System.out.println (a.multiplicar(b));
System.out.println (a.dividir(b));
}
}
a soma ja estah feita.
as outras operacoes segue o mesmo principio.
[code]public class Main {
public static void main(String[] args) {
Racional r1 = new Racional(10, 2);
Racional r2 = new Racional(15, 6);
Racional r = r1.soma(r2);
[quote=julianatibaes]Ola novamente, agora um nooovo probleminha
a prof quer que faca um prog que pege o numerador , denominador e faca as continhas normais.
soma multiplica subtrai… essas coisinhas
ate ai blz
so que ela quer que imprima o resultado com o /
[/quote]
O problema é que vc não entendeu o conceito de numero racional.
Um numero racional é um numero na forma n/d em que a divisão NUNCA é efetuada.
O seu codigo faz a dividisão por isso vc nunca conseguirá um toString na forma n/d.
Crie uma classe racional com as operações entre racionais e não entre numeros sem significado.
utilize as regras de multiplicação, divisão e soma que aprendeu na escola para conseguir obter um nuemro na forma n/d exemplo