:lol:  Olá Companheiros de forum   :lol:
Estou tentando um exercicio para escola aqui, onde o usuario vai ter que digitar a matricula.
Somente poderei aceitar matriculas de 6 caracteres e numerico. Nao pode colocar letra na matricula.
Eu pensei assim:
public static boolean verificaMatricula()
{
//AQUI ELE PEDE O USUARIO PARA DIGITAR A MATRICULA.
String mat = Console.readLine("Digite a matricula: ");		
//AQUI EU TENTO CONSISTIR SOMENTE 6 POSIÇÕES
//E GOSTARIA TMB QUE FOSSE SOMENTE NUMEROS.
while (mat.length() != 6 || )
{
mat = Console.readLine("Digite a matricula: ");
}
return Servicos.verificaMatricula(mat);
}
Não me lembro da sintaxe, me parece que tem algo assim:   (int)[0-9]
Se alguém poder me ajudar agradeceria.
Até mais !!
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Esse eu programinha envolve tela SWING contendo TextFields ou é só em linha de comando mesmo??
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          
se for o caso de Swing, só usar o JFormattedTextField e  MaskFormatter.
implementa o MaskFormatter no constructor do JFormattedTextField.
no link da api abaixo mostra cada character que aceita qual tipo:
http://download.oracle.com/javase/6/docs/api/javax/swing/text/MaskFormatter.html
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Como nosso amigo acima falo, caso vc esteja utilizando o componente SWING JFormattertextField, o código que faz isso que você deseja é mais ou menos esse aqui…
private void mascaraParaCampoNumerico()
{
     MaskFormatter num = new MaskFormatter("######");// MATRÍCULA DE NO MAXIMO 6 DIGITOS
     num.install(seuJFormatterTextField);
}
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=Anderson S.]Como nosso amigo acima falo, caso vc esteja utilizando o componente SWING JFormattertextField, o código que faz isso que você deseja é mais ou menos esse aqui…
[code]
private void mascaraParaCampoNumerico()
{
MaskFormatter num = new MaskFormatter("######");// MATRÍCULA DE NO MAXIMO 6 DIGITOS
num.install(seuJFormatterTextField);
}
[/code][/quote]
não esquece de tratar o ParseException!!!  
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=alexandref93][quote=Anderson S.]Como nosso amigo acima falo, caso vc esteja utilizando o componente SWING JFormattertextField, o código que faz isso que você deseja é mais ou menos esse aqui…
[code]
private void mascaraParaCampoNumerico()
{
MaskFormatter num = new MaskFormatter("######");// MATRÍCULA DE NO MAXIMO 6 DIGITOS
num.install(seuJFormatterTextField);
}
[/code][/quote]
não esquece de tratar o ParseException!!!  
 [/quote]
A ferramente trata pra ele, fique tranquilo!!  :roll:
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=Anderson S.][quote=alexandref93][quote=Anderson S.]Como nosso amigo acima falo, caso vc esteja utilizando o componente SWING JFormattertextField, o código que faz isso que você deseja é mais ou menos esse aqui…
[code]
private void mascaraParaCampoNumerico()
{
MaskFormatter num = new MaskFormatter("######");// MATRÍCULA DE NO MAXIMO 6 DIGITOS
num.install(seuJFormatterTextField);
}
[/code][/quote]
não esquece de tratar o ParseException!!!  
 [/quote]
A ferramente trata pra ele, fique tranquilo!!  :roll: [/quote]
hehehe, só pra dá um toque xD!
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=alexandref93][quote=Anderson S.][quote=alexandref93][quote=Anderson S.]Como nosso amigo acima falo, caso vc esteja utilizando o componente SWING JFormattertextField, o código que faz isso que você deseja é mais ou menos esse aqui…
[code]
private void mascaraParaCampoNumerico()
{
MaskFormatter num = new MaskFormatter("######");// MATRÍCULA DE NO MAXIMO 6 DIGITOS
num.install(seuJFormatterTextField);
}
[/code][/quote]
não esquece de tratar o ParseException!!!  
 [/quote]
A ferramente trata pra ele, fique tranquilo!!  :roll: [/quote]
hehehe, só pra dá um toque xD![/quote]
Entendo… :XD:
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Para postar código utilize a tag code /code: http://www.guj.com.br/posts/list/50115.java
Se o exercício permite a utilização de expressão regular como você está citando, pode ser utilizado o método matches da String, que vai dizer se a string bate com a expressão passada.
matricula.matches("[0-9]+") // vai retornar true se houverem apenas números ou false caso contrário.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=Eric Yuzo]Para postar código utilize a tag code /code: http://www.guj.com.br/posts/list/50115.java
Se o exercício permite a utilização de expressão regular como você está citando, pode ser utilizado o método matches da String, que vai dizer se a string bate com a expressão passada.
matricula.matches("[0-9]+") // vai retornar true se houverem apenas números ou false caso contrário.
Funcionou.
otimo ^^
ficou assim :
public static boolean verificaMatricula()
{
String mat = Console.readLine(“Digite a matricula: “);		
while (mat.length() != 6 || mat.matches(”[0-9]”) == false)
{
mat = Console.readLine("Digite a matricula: ");
}
return Servicos.verificaMatricula(mat);
}
:lol:  Vlw galera  :lol: