Números primos entre si

Pessoal, fiz o código para saber se os dois números informados pelo usuário são primos entre si. Mas não estou conseguindo chegar ao objetivo.
Vejam o código e me mostrem onde estou errando.

[code]
import java.util.Scanner;

/**

  • Escreva um programa que determine se dois valores inteiros e positivos A e B são primos entre si.
  • (dois números inteiros são ditos primos entre si, caso o maior divisor comum seja o 1).
  • @author fernando

*/
public class Ex7_2 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner entrada = new Scanner (System.in);
	
	int a; //Primeiro número
	int b; //Segundo número
	int resto = 1; //Número maior dividido pelo menor
	
	
	
	//Recebendo dados dos usuários
	do {
		System.out.println("Digite o primeiro número:");
		a = entrada.nextInt();
	}
	while (a < 0);
			
	do {
		System.out.println("Digite o segundo número:");
		b = entrada.nextInt();
	}
	while (b < 0);
	
	// Verificando se os números são primos entre sí.
			
		for (int i = 0 ; resto == 0; i++) {
			
			if (a>b){
				resto = a % b;
				a = b;
				b = resto;
			}
			
			if (a<b){
				resto = b % a;
				b = a;
				a = resto;
			}
			
		}
		if (b == 1){
			System.out.println("Os números\t" +a+ "\te\t" +b+ "\tsão primos entre sí.");
		}
		if (b != 1){
			System.out.println("Os números\t" +a+ "\te\t" +b+ "\tnão são primos entre sí.");
		}
		
}

} [/code]

Dois números são primos entre si se o MDC deles for 1.

De fato, você está usando o cálculo do MDC mas deve haver alguma coisinha errada mesmo.

package guj;

public class ExemploCalculoMDC {

    public int mdc(int a, int b) {
        if (b == 0)
            return a;
        else
            return mdc(b, a % b);
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        ExemploCalculoMDC e = new ExemploCalculoMDC();
        int a = 123456;
        int b = 654321;
        int x = e.mdc(a, b);
        System.out.printf("mdc(%d, %d) = %d : %s %n", a, b, x, x == 1 ? "primos entre si" : "não primos");
        a = 123457;
        b = 754321;
        x = e.mdc(a, b);
        System.out.printf("mdc(%d, %d) = %d : %s %n", a, b, x, x == 1 ? "primos entre si" : "não primos");
    }

}

Isso é parte do programa né? Ainda não estou neste nível no java. E preciso que os números sejam fornecidos pelo usuário.
RESUMINDO: Não entendi muito bem.

aproveita o código do entanglement que ta perfeito…

muda o que está dentro do PRINTF se voce não está entendendo ali e coloca as variáveis A e B receberem valor (ali ele está definindo valores ja).

ele usou recursividade no metodo mdc ou seja, ele fica chamando o método mdc dentro dele até o b ser zero… dai ele devolve o mdc calculado