Dae galera,
Eu tentei criar minha propria logica pra um mmc em java, mas nao funcionou…
alguém poderia me ajudar a dizer como montar um mmc em java…
ou dar o algoritmo ai dai eu estudo…
e eu devo usar ele como metodo né?
vlw e flw
Dae galera,
Eu tentei criar minha propria logica pra um mmc em java, mas nao funcionou…
alguém poderia me ajudar a dizer como montar um mmc em java…
ou dar o algoritmo ai dai eu estudo…
e eu devo usar ele como metodo né?
vlw e flw
Mostra ai o que você fez e não funcionou.
que massa vei
do valor, mostra o codigo ai pra gente ver onde tu erro
eu sobrepus salvando o atual, onde eu ia dividir por 2 e pegar o resto e conferir.
AI fica assim, SE quando divididos por aquele numero o resto for igual, eles sao divisiveis por ele e guardo esse numero que dividiu eles.
e dai no fim apos guardar todos os numeros que eles eram divisiveis até serem 1, eu multiplico 1 pelo outro.
masss, o problema é, dividir por qual numero.
ai a logica falha nisso.
e outra pergunta, pra validar valores do tipo do de baixo, uso EQUALS? ou “==” ?
o codigo abaixo mais ou menos completo.
[code]import java.util.*;
class Minimo{
public static void main(String args[]){
System.out.println("Digite 2 Numeros ");
Scanner scan = new Scanner(System.in);
System.out.print("Numero um: ");
int num1 = scan.nextInt();
System.out.print("Numero dois: ");
int num2 = scan.nextInt();
boolean teste = true;
double temp = 0;
int cont = 1;
double temp1 = num1;
double temp2 = num2;
double dec1 = 0;
double dec2 = 0;
while(teste){
dec1 = ((num1/cont) % cont);
dec2 = ((num2/cont) %
if(dec1 == dec2){
cont = 1;
temp = temp * cont;
}else{
cont = cont+1;
}
}
System.out.println("Num 1: "+num1);
System.out.println("Num 2: "+num2);
System.out.println("e Cont eh: "+cont);
System.out.println("MMC: "+temp);
}
}[/code]
fr4nc0w, dá uma olhada neste código
import java.util.Scanner;
public class MMC {
private int numero1;
private int numero2;
private int n = 2;
private int resultado = 1;
public static void main(String[] args) {
MMC mmc = new MMC();
mmc.obtemNumeros();
System.out.println(mmc.calculaMmc());
}
public int calculaMmc() {
while (this.numero1 != 1 || this.numero2 != 1) {
while (this.numero1 % this.n != 0 && this.numero2 % this.n != 0) {
this.n++;
}
if (this.numero1 % n == 0) {
this.numero1 = this.numero1 / n;
}
if (this.numero2 % n == 0) {
this.numero2 = this.numero2 / n;
}
this.resultado *= this.n;
}
return this.resultado;
}
public void obtemNumeros() {
Scanner sc = new Scanner(System.in);
System.out.println("Insira o primeiro numero: ");
this.numero1 = sc.nextInt();
System.out.println("Insira o primeiro numero: ");
this.numero2 = sc.nextInt();
}
}
Quanto ao método equals, a resposta é depende. Por exemplo:
MMC mmc = new MMC();
MMC mmd = new MMC();
System.out.println(mmc.equals(mmd));
//Retornará false
Mas, se você sobrescrever o método equals como algumas classes fazem, por exemplo a String, ele retornará true.
String a = new String();
String b = new String();
System.out.println(a.equals(b));
//Retornará true
Espero ter ajudado.
Abraços
A que porcaria. minha logica antes desse que mandei ali tava totalmente correta, soh q nao dava certo por erro de sintax ou sei la, ou eu errei o minimo na logica.
soh q o seu eh bem eficiente…entendi perfeitamente ele…
vlw ai cara…
flw
a minha eh mais robusta e feita na mao sem rotinas prontas do java
public static int mmc(int a,int b){
boolean bol = true;
int aa = a;
int bb = b;
a =0;
b =0;
ArrayList aaa = new ArrayList();
ArrayList bbb = new ArrayList();
while(bol){
a = a + aa;
b = b + bb;
aaa.add(a);
bbb.add(b);
for (int i =0;i < aaa.size();i++){
for(int o =0;o < bbb.size();o++){
if(aaa.get(i) == bbb.get(o) && Integer.parseInt(aaa.get(i).toString()) != 0){
bol = false;
return Integer.parseInt(aaa.get(i).toString());
}
}
}
}
return 0;
}