Como faço para imprimir todos numeros de um TextField para outro

To fazendo um programa de atendimento,e quero mostrar as senhas que ja foram atendidas,so que só estou conseguindo imprimir o ultimo numero do TextField, não todos os numeros que eu ja coloquei la.

Tem esse tópico que seu amigo Pedro00 fez:
https://www.guj.com.br/t/como-faco-para-imprimir-numeros-que-restam-de-um-total/405841/6

Sim,mas tipo o dele é imprimir os que faltam para 10,eu quero imprimir os que eu ja escrevi,para fazer tipo uma lista com esses numeros.Eu estou fazendo o contrario dele.

1 curtida

Humm… então mostra como você está fazendo.

public String qsenhas(){
int Senhach = z;
String senhas = “”;

for(int a = (Senhach - 1); a<=10; a–){
senhas += " " + z;
}
return senhas.trim();
}

Tentei reverter o dele,mas n deu certo

Olha isso depende muito de como vocês estão gerando as senhas e como está a estrutura do projeto. Então partido do código que você postou, o correto seria:

public String qsenhas(){
   int Senhach = z;
   String senhas = "";

   for(int a = (Senhach - 1); a<=10; a--){
       senhas += " " + a;
   }
   return senhas.trim();
}

Uma solução mais robusta é você criar uma classe responsável por gerenciar a senhas.


Um detalhe importante é que os nomes de método e variáveis devem ser mais expressivos (as vezes pode ser um pouco difícil, mas você deve tentar)! Por exemplo o que significa qsenha e a variável z?

As senhas estao sendo colocadas pelo usuarios nesse caso, a codigo que vc enviou n fez nd aparentemente,eu tentei modificar e ficou a mesma coisa.
É um pessimo costume que eu tenho de colocar tds variaveis como letras,para mim fica facil entender,para os outros nem tanto,qsenha=quantidade de senhas,z=numeros colocados pelo usuarios

Vamos lá, por partes!

E elas ficam armazenadas aonde? Mostra esse trecho! Lembre-se de selecionar o código e apertar </> na hora de postar o código aqui!

Mostra também como você fez!

public Integer gerar()
{

for (i=0; i<1; i++) {
z++;
     if(z==10)
     {
        JOptionPane.showMessageDialog(null,"Ultima senha do dia");
    }
    else
    {
        
    }
//System.out.println(""+z);
 }
return z;
}

Estão armazenadas em “z”.

Com base na solução desse tópico eu fiz esse exemplo:

public class GerenciadorSenhas{
	
	private int totalSenhasDisponiveis;
	private int proximaSenha;
	private StringBuilder senhasChamadasString; //pode ser uma Lista também!
	
	public GerenciadorSenhas(int total) {
		totalSenhasDisponiveis = total;
		senhasChamadasString = new StringBuilder();
		proximaSenha = 1;
	}
	
	public int pegarSenha() {
		if(totalSenhasDisponiveis == 0){
		  System.out.println("As senhas acabaram!!!");
		  return -1;
		}
		
		if(totalSenhasDisponiveis == 1){
		  System.out.println("Última senha do dia!!!");
		}
		
		totalSenhasDisponiveis--;
		
		int senha = proximaSenha++;
		senhasChamadasString.append(" " + senha);
		
		return (senha);
	}
	
	public int getTotalSenhasDisponiveis(){
	  return totalSenhasDisponiveis;
	}
	
	public String getSenhasChamadas(){
	  String m = senhasChamadasString.toString().trim();
	  return ("[" + m + "]");                       
	}
}

Classe Main:

class Main {
  public static void main(String[] args) {
     // Instanciando o gerenciador de senhas
     GerenciadorSenhas gerenciador = new GerenciadorSenhas(10);                          
     System.out.println("******BEM VINDO******");
     
     System.out.println("\nFila de Atendimentos:");
     
     int i = 1;
     int totalDeSenha = gerenciador.getTotalSenhasDisponiveis();
     //Apenas para testes
     while(totalDeSenha > 0 && i <=6){
       
       int senha = gerenciador.pegarSenha();
       totalDeSenha = gerenciador.getTotalSenhasDisponiveis();
       
       System.out.printf("Cliente: %d\nSenha: %d\n",i,senha);
       System.out.printf("Diponiveis: %d\n\n",totalDeSenha);
       
       i++;
     }
     
     System.out.println("Senhas Chamadas: "+ gerenciador.getSenhasChamadas());
  }
}

Você precisa adptar e jogar em TextField ou JFrame!

Aqui um imagem do programa em execução: