MMC em JAVA

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;

	        
	    }