Pessoal, preciso fazer a seguinte funcionalidade:
Concatenar um UUID (de três em três) ao nome de 100 clientes. Só que o UUID me retorna somente 36 caracteres.
Meu código está assim:
for (int options = 0; options < 100; options++) {
if (control <= 12) {
for (int i = 0; i < 12; i++) {
System.out.println("cliente" + uuid.substring(start, end));
start += 3;
end += 3;
control += 1;
}
}
Eu pego a seguinte String retornada pelo UUID e concateno de 3 em 3 caracteres ao nome do cliente:
41f59477-17fc-406f-997d-08494faee0e1
O nome de cliente fica assim:
cliente41f
cliente594
cliente77-
…
…
Esse código funciona legal para os primeiros 12 clientes. Só que, quando ele montar os 12 nomes de cliente, sobram 88.
Eu preciso gerar novamente outro UUID e continuar concatenando o restante dos nomes de cliente até acabar os 100.
Alguém tem alguma dica de como posso resolver esse probleminha ?
Obrigado a todos.
nel
Novembro 16, 2009, 10:54pm
#2
Boa noite.
Tente assim:
int start = 0;
int end = 3;
for (int options = 0; options < uuid.lenght; options++) {
if(start < uuid.lenght && end < uuid.lenght){
System.out.println("cliente" + uuid.substring(start, end));
start = end+1;
end = start + end;
}
}
Não testei e fiz meio na pressa, mas acho que por ai pode ser possível de resolver o seu problema.
Abraços.
[quote=nel]Boa noite.
Tente assim:
int start = 0;
int end = 3;
for (int options = 0; options < uuid.lenght; options++) {
if(start < uuid.lenght && end < uuid.lenght){
System.out.println("cliente" + uuid.substring(start, end));
start = end+1;
end = start + end;
}
}
Não testei e fiz meio na pressa, mas acho que por ai pode ser possível de resolver o seu problema.
Abraços.
[/quote]
Não funcionou.
To tentando fazer aqui mas ainda não consegui. Mas alguém pode me ajudar, dando dicas ?
nel
Novembro 16, 2009, 11:36pm
#4
Deu erro? O que está imprimindo?
nel
Novembro 16, 2009, 11:41pm
#5
Tente assim:
[code] int count = 3;
for (int options = 0; options < uuid.lenght; options++) {
if(count < uuid.lenght){
System.out.println("cliente" + uuid.substring(uuid.indexOf(count)));
count = count +3;
}
} [/code]
Imprimiu assim:
clientef6e
clienteeaf
cliente-27e2-4
clienteff-a46f-f8a7f74
nel
Novembro 16, 2009, 11:43pm
#7
Acredito que da forma como fiz acima também não vai rolar, acho que vai concatenar de 3 em 3 mas somando…enfim, depois eu vejo com calma. Vai tentando ai. A ideia é trabalhar com substring, com certeza.
nel
Novembro 17, 2009, 12:11am
#8
A sua solução amigo:
[code]String uuid = “41f59477-17fc-406f-997d-08494faee0e1”;
int count = 0;
for(int i =0 ; i< uuid.length(); i++){
if(count < uuid.length()){
System.out.println("cliente"+uuid.subSequence(count,count+3));
count = count +3;
}
}[/code]
Abraços.
[quote=nel]A sua solução amigo:
[code]String uuid = “41f59477-17fc-406f-997d-08494faee0e1”;
int count = 0;
for(int i =0 ; i< uuid.length(); i++){
if(count < uuid.length()){
System.out.println("cliente"+uuid.subSequence(count,count+3));
count = count +3;
}
}[/code]
Abraços.[/quote]
Beleza…
Mas a dúvida é como gerar o resto dos nome de clientes ? com esse código eu consigo gerar 12 (36 /12). Falta gerar os outros nomes de cliente utilizando outro UUID, pois o que foi colocado na mão acabou.
Obrigado!