: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: