Alguém sabe

Alguém tem como me da apenas uma dica de como fazer esse programinha

Tente iniciar seu programa, quebre um pouco a cabeça. O fórum foi concebido para tirar dúvidas, não estamos aqui fazer seus exercícios…

uma estrelinha pelo titulo que não diz sobre o que é o post …

eh soh utilizar alguns ‘for’ e alguns ‘int’ q voce consegue

se tiver alguma dúvida específica, a gente pode ajudar

obs.: por favor, SEMPRE que for postar, escreva no título da melhor forma possivel sobre o que sua tópico é, pois dessa forma você facilita aos outros usuários do forum que procuram pelas mesmas respostas que você está procurando

;D

[quote=edymrex]Alguém tem como me da apenas uma dica de como fazer esse programinha

[/quote]

Dica: gere os números de 0000 a 9999. Escreva uma rotina que cheque se há algarismos repetidos. Se houver algarismos repetidos, não imprima o número.

ME DESCULPEM A INTROMISSÃO.

Sou usuária, e não tenho conhecimento de “java”, mas preciso usar um aplicativo no site da CAixa Economica Federal, mas ele não abre, dá erro de página, me falaram que eu preciso de um java “virtua machina”, acho que é isto.

Se alguém souber como funciona ficarei bem feliz, obrigada!!!

ana vc precisa instalar a JVM na sua máquina…

http://www.java.com/pt_BR/download/windows_ie.jsp

NÃO SEI A RESPOSTA DA SENHAS NUMERICA ALGUÉM SABE?

vc tem que estudar analise combinatoria

se eu me lembro bem isso é um caso de

combinação C(m.p)=(m/p)= m!/p!.(m-p)! acho que essa e formula

valeu

Crie um programa que gere e imprima todas as possibilidades de senhas numéricas, formadas por 4 algarismos numéricos sem repetições.

algarismos de 0 à 9 ?

parta de algo mais simples: vc tem 3 letras e quer montar palavras de 2 letras sem repetição

se forem {A,B,C} isso gera {A,B ; A,C ; B,C}

puxa, q legal, mas como a gente gera isso?

se A está na posição 0, B na 1 e C na 2, vc tem as combinações

{ 0,1 ; 0,2 ; 1,2 }

ou seja.
-pegou 0
-pegou todos os valores depois de 0 e combinou = 1 e 2
-tem mais algum ? tem sim, o 1

-pegou 1
-pegou todos os valores depois de 1 e combinou = 2
-tem mais algum ? não, então para!!!

usa papel e caneta e vera que vc vai ter coisas bem interessantes desse raciocinio… :wink:

Mano! Como o colega disse: Vc deve usar analise combinatória. Ou seja, neste tipo d combinação sua em q tem-se 4 caracteres na senha e um universo de 10 algarismos, o q vc tem q fazer ? Faça a combinação de 10 elementos quatro a quatro e terá o total de combinações, com certeza uma dessas é a pedida. Quanto ao código , implemente alguma API da sun. Ok?

Olha so isso que é moleza, pega o codigo

import javax.swing.JOptionPane;

/**
 *
 * @author André Deividi Caetano
 */
public class combinação {
    

    public combinação() {
    }
    
    public static void main(String[] args) {
        /*Neste codigo esta sendo implementado a formula da combinação
         *C(M,P)= M!/P!*(M-P)!
         *
         *NO CASO C(10,4)=10!/4!*(10-4)!
         */
        
        double qtCasas = 4, numeroUsados = 10;
        double totalM = 10 ,totalP=4;

        double  totMP = numeroUsados - qtCasas;
        double totMpFatorado = totMP;
        double numerosPossiveis =0;
        
        /* fotarando quantidade de numeros usando no agrupamento
        *  numero fatorial e o numero vezes ele menos um 
         exeplo: 
         * 10! (dez fatorial) é igual 10.9.8.7.6.5.4.3.2.1
         */
        for (int i=0;i<numeroUsados ;i++){
            totalM = totalM * (numeroUsados -1);
            numeroUsados = numeroUsados -1;
        }
        
        /* fotarando quantidade de numeros do agrupamento
        *  numero fatorial e o numero vezes ele menos um 
        */
        for (int i=0;i<qtCasas ;i++){
            totalP = totalP *(qtCasas - 1);
            qtCasas =qtCasas-1;
        }
        
        for (int i=0;i<totMP ;i++){
            totMpFatorado = totMpFatorado *(totMP - 1);
            totMP = totMP -1;
        }
        numerosPossiveis = totalM / totalP * totMpFatorado;
        JOptionPane.showMessageDialog(null,"Resultado da combinação  : "+numerosPossiveis);
    }
    
}

Pode me corrigir se estiver errado

Valeu mano>

Show de Bola!!!

2 formas de resolver:

Bruteforce:

[code]
int qtd = 4;
int [] valores = {0,1,2,3,4,5,6,7,8,9};

for(int i = 0 + 0; i + qtd - 0 <= valores.length ; i++)
for(int j = i + 1; j + qtd - 1 <= valores.length ; j++)
for(int k = i + 2; k + qtd - 2 <= valores.length ; k++)
for(int l = i + 3; l + qtd - 3 <= valores.length ; l++)
System.out.println(">"
+ valores[i] + " "
+ valores[j] + " "
+ valores[k] + " "
+ valores[l]);[/code]

Percebam que eu parametrizei todos so laços com a variavel qtd.

Agora uma forma recursiva e quase elegante:

[code]class X{
public static void main (String [] xxx){
int qtd = 4;
int [] valores = {0,1,2,3,4,5,6,7,8,9};

	printing(qtd,valores);			
}

public static void printing(int qtd, int [] valores){
	int [] comb  = new int[qtd];
	printing(qtd,valores,0,comb);
}

private static void printing(int qtd, int [] valores, int index, int [] comb){
	if (qtd > index){ 
		for(int i = 0 + index; i + qtd - index <= valores.length ; i++){
			comb[index] = valores[i];
			printing(qtd,valores,index+1,comb);				
		}
		return;
	} else if(qtd == index) {
		for(int i=0;i<qtd;i++)
			System.out.print(" " + comb[i]);
		System.out.println("");
		return;
	} else {
		System.err.println("Erro...");
		return;
	}			
}

}[/code]

Basicamente é só entender como foi feito no primeiro exemplo e pensar numa função recursiva. eu vou levando os elementos que eu vou combinando e quando chega a hora eu os imprimo.

Eu controlo a profundidade da recursão com a variavel index. o metodo publico so precisa recever o numero de combinações não-repetidas e um vetor com as quantidades.

Olá…

www.java.sun.com/j2se/5.0/docs/api/java/util/Random.html

De uma olhada nessa classe… ela te ajudará bastante em seu exercicio…

Random nomeDoSeuObjeto = new Random();

agora eh soh manipular

[nota] Numeros randomicos são numeros gerados aleatoriamente.

espero ter ajudado…

Falow…

Abraço…