Dúvida com lógica

8 respostas
K

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.

8 Respostas

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.

K

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.

Não funcionou.

To tentando fazer aqui mas ainda não consegui. Mas alguém pode me ajudar, dando dicas ?

nel

Deu erro? O que está imprimindo?

nel
Tente assim:
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;   
        }        
                      
                
    }
K

Imprimiu assim:

clientef6e
clienteeaf
cliente-27e2-4
clienteff-a46f-f8a7f74

nel

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

A sua solução amigo:

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;
			}
		}

Abraços.

K
nel:
A sua solução amigo:
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;
			}
		}

Abraços.

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!

Criado 16 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 8
Participantes 2