Placa de carro? Placa de carro não é algo como ABC-1234? Então vc tem que tratar como String e não como número.
Isso que queria fazer?
String placaCarro = "ABC-1234";
String[] partes = placaCarro.split("-");
try {
if (partes[1].length() == 4 && new Long(partes[1]).longValue() > 0l) {
System.out.println("deu certo");
} else {
System.out.println("nao deu certo - tamanho de placa errado");
}
} catch (NumberFormatException en) {
System.out.println("nao deu certo - numero invalido");
}
String placa = "KKK-2222";
if (placa.length() < 8) {
// Mensagem de erro.
} else {
//Faz o que quiser.
}
Mais ou menos isso André, mas na verdade, em um ambiente de produção, essa validação seria feita bem antes, não no código Java, mas em validação em javascript e validação em algum framework próprio (como o do Struts).
Cara pra vc saber se o usario digitou menos q 4 ou mais q 4 e facil e se a entrada for uma string é so fazer:
if (( placaCar.legth() < 4) || ( placaCar.legth() > 4 ){
System.out.println (" mensagem de erro");
}
String.legth() devolve um inteiro dizendo o numero de caracteres da string
Agora se vc quiser quantos digitos de inteiro e quantos digitos de “letras” ai e mais complicado e eu nao saberia te dizer.
Mas é algo com DocumentListener se nao me engano.
Espero ter ajudado
puts enquanto eu estava escrevendo os cara ja responderam.
hehehehheheheheheheh
q caras ligeiros.
Como o senhor colocaria os dados de entrada?
Atenção:
[quote=maruero]…
if (( placaCar.le[color=red]n[/color]gth() < 4) || ( placaCar.le[color=red]n[/color]gth() > 4 ){
System.out.println (" mensagem de erro");
}
String.le[color=red]n[/color]gth() devolve um inteiro dizendo o numero de caracteres da string[/quote]
Se olhares para o terceiro comentario, talvez consigas o que queres.
Ola pessoal…
eu estou fazendo um exercicio "bolado"
por mim que inseria a quantidade e a média de carros em um estacionamento
… ai eu coloco variaveis de instanticia do nome de caro e etc…
soh que na hora que eu chego no metodo :
public void setPlacaCar (short placaCar)
{
this.namePlaca = placaCar;
if ( placaCar > 9999) // a duvida está nessa linha de código como
eu fasso pra dar mensagem de erro para usuario
se ele ñ colocar um numero de quatro digitos ou menos que quatro
( porq na verdade as placas de carro soh
possuem quatro digitos hehe).
}
falow pessoal…
abraço…
[quote=MarcioTavares]Placa de carro? Placa de carro não é algo como ABC-1234? Então vc tem que tratar como String e não como número.
[/quote]
como eu fasso isso em codigo ???
brigadão … falow…
[quote=andre.silva][code]
String placa = "KKK-2222";
if (placa.length() < 8) {
// Mensagem de erro.
} else {
//Faz o que quiser.
}
[/code][/quote]
porq a String tem que ser declarada como “kkk - 2222” ??
[quote=MarcioTavares]Atenção:
[quote=maruero]…
if (( placaCar.le[color=red]n[/color]gth() < 4) || ( placaCar.le[color=red]n[/color]gth() > 4 ){
System.out.println (" mensagem de erro");
}
String.le[color=red]n[/color]gth() devolve um inteiro dizendo o numero de caracteres da string[/quote]
[/quote]
então esse codigo me daria os inteiros da placa de um carro mais a String de letras e o caracter " - " que antecedem os inteiros, ou seja, os numeros ?