Gerador aleatório de número PIS para realizar testes

Oi pessoal, tudo bom ?

Segue em anexo o código que estou fazendo para gerar números aleatórios de PIS:

[code] public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
int num = 0;
String numero = “”;
for (int i = 0; i<10; i++){
num = r.nextInt(9);
numero += Integer.toString(num);
}

	int a = Integer.parseInt(String.valueOf(numero.charAt(0)));
	int b = Integer.parseInt(String.valueOf(numero.charAt(1)));
	int c = Integer.parseInt(String.valueOf(numero.charAt(2)));
	int d = Integer.parseInt(String.valueOf(numero.charAt(3)));
	int e = Integer.parseInt(String.valueOf(numero.charAt(4)));
	int f = Integer.parseInt(String.valueOf(numero.charAt(5)));
	int g = Integer.parseInt(String.valueOf(numero.charAt(6)));
	int h = Integer.parseInt(String.valueOf(numero.charAt(7)));
	int i = Integer.parseInt(String.valueOf(numero.charAt(8)));
	int j = Integer.parseInt(String.valueOf(numero.charAt(9)));
	
	System.out.println(numero);
	
	int soma = (3*a) + (2*b) + (9*c) + (8*d) + (7*e) + (6*f) + (5*g) + (4*h) + (3*i) + (2*j);
	System.out.println("soma = " + soma);
	
	System.out.println(a);
	System.out.println(b);
	System.out.println(c);
	System.out.println(d);
	System.out.println(e);
	System.out.println(f);
	System.out.println(g);
	System.out.println(h);
	System.out.println(i);
	System.out.println(j);
	
	
	//int soma = (3*1) + (2*1) + (9*1) + (8*1) + (7*1) + (6*1) + (5*1) + (4*1) + (3*1) + (2*1);
	
	//System.out.println(soma%11);
	
	int resto = soma%11;
	System.out.println("resto = " + resto);
	
	int digitoVerificador = 11-resto;
	if (digitoVerificador == 10 || digitoVerificador == 11)
		digitoVerificador = 0;
	System.out.println("digitoVerificador = " + digitoVerificador);
	
	
	numero += String.valueOf(digitoVerificador);
	
	System.out.println(numero);
	
	

}

}[/code]

O que estou fazendo de errado ? Estou pegando a saída gerada e utilizando um validador online, como esse aqui: http://www.cadcobol.com/pis_0001.htm, e nenhum número gerado está sendo válido …

um abraço,

Gustavo

Olha esse post http://aljug.blogspot.com/2009/05/fazendo-uma-simulacao-da-megasena-em.html e vê se ajuda.

Cara, não entendi.

Eu crio um objeto Random, com o nome r, e depois crio um inteiro que muda seu valor a cada iteração do loop:

Random r = new Random(); int num = 0; String numero = ""; for (int i = 0; i<10; i++){ num = r.nextInt(9); numero += Integer.toString(num); }

Gerando, assim, uma sequência de 10 números aleatórios.
Não entendi o que você quis dizer com usar Random ao invés de nextInt().

Miguel, muito obrigado cara, mas descobri meu erro:

na verdade não há erro nenhum, apenas o validador online que eu estava usando aplicava uma máscara no número pis, fazendo com que não funcionasse.

Dúvida resolvida !

abraços

Desculpa cara, vou ser mais claro… por exemplo:

Em cada variavel colocasse o x = new Random().nextInt(Inteiro);