Metodo de verificação

12 respostas
GLucio42

Olá pessoal gostaria de saber se alguem sabe como fazer esse metodo abaixo, estou com dificuldades na parte de ‘‘O parâmetro placa deve conter letras nos três primeiros caracteres, e números nos quatro caracteres restantes.’’ desde já obrigado.

public boolean verificaplaca(String placa) {
}

  1. Se o parâmetro placa estiver de acordo com as regras abaixo, o método atualiza a propriedade placa, utilizando o método setPlaca e retorna true, caso contrário, retorna false:
    a. O parâmetro placa deve conter letras nos três primeiros caracteres, e números nos quatro caracteres restantes.

12 Respostas

Rodrigo_Sasaki

De cara eu vejo 2 opções:

  1. Você pode verificar cada char por índice, leia a API da classe String e veja qual método te ajuda nisso.
  2. Você pode usar expressões regulares, que se você já sabe o que são, vai ser muito mais fácil :slight_smile:
GLucio42

Rodrigo Sasaki:
De cara eu vejo 2 opções:

  1. Você pode verificar cada char por índice, leia a API da classe String e veja qual método te ajuda nisso.
  2. Você pode usar expressões regulares, que se você já sabe o que são, vai ser muito mais fácil :)

expressões de String tipo .charAt() ? pelo meu ver seria mais facil usar mascara … mas o professor quer assim.

Rodrigo_Sasaki

Não, não foi isso que eu quis dizer com expressões :slight_smile:

charAt é um método, que pode se encaixar na primeira alternativa que eu te dei.

A segunda alternativa sugere o uso de expressões regulares, também conhecidas como regex.

O seu professor quer que você faça como?

GLucio42

Rodrigo Sasaki:
Não, não foi isso que eu quis dizer com expressões :slight_smile:

charAt é um método, que pode se encaixar na primeira alternativa que eu te dei.

A segunda alternativa sugere o uso de expressões regulares, também conhecidas como regex.

O seu professor quer que você faça como?

quer que crie esse metodo que postei ai…mas, como é um tamanho fixo de String… poderia fazer uma mascara e resolver o problema mais rapido,certo? ‘-’ (isso direto na interface)

Rodrigo_Sasaki

Isso aí, que no caso poderia fazer uso de regex como eu disse.

Como você está pensando em implementar isso?

GLucio42

Isso aí, que no caso poderia fazer uso de regex como eu disse.

Como você está pensando em implementar isso?

Esse metodo verificaplaca é de um projeto de cadastro e consulta de carros (ai vem a minha ideia de usar a mascara no campo ‘‘placa’’)

estou pensando em implementar pelos metodos .charAt() , porque eu sei um pouco mais …como usar corretamente eles.

Rodrigo_Sasaki

GLucio42:
Esse metodo verificaplaca é de um projeto de cadastro e consulta de carros (ai vem a minha ideia de usar a mascara no campo ‘‘placa’’)

estou pensando em implementar pelos metodos .charAt() , porque eu sei um pouco mais …como usar corretamente eles.

Maravilha :slight_smile: Quando conseguir posta o método aqui pra todo mundo poder ver, e caso tenha problemas durante a implementação pode postar suas dúvidas também que a gente vai te ajudando

GLucio42

Rodrigo Sasaki:
GLucio42:
Esse metodo verificaplaca é de um projeto de cadastro e consulta de carros (ai vem a minha ideia de usar a mascara no campo ‘‘placa’’)

estou pensando em implementar pelos metodos .charAt() , porque eu sei um pouco mais …como usar corretamente eles.

Maravilha :slight_smile: Quando conseguir posta o método aqui pra todo mundo poder ver, e caso tenha problemas durante a implementação pode postar suas dúvidas também que a gente vai te ajudando

Ok e Obrigado ^^

GLucio42

Ainda não testei,mas acho que ta funcionando

public boolean verifica(String op) {

int cont;

for (cont = 0; op.length() <= 7; cont++) {

char x = op.charAt(cont);

if (op.charAt(cont) >= 3) {

if (x == 0 || x == 1 || x == 2 || x == 3 || x == 4|| x == 5 || x == 6 || x == 7 || x == 8 || x == 9) {

return false;

}

} else {

if (!(x == 0 || x == 1 || x == 2 || x == 3 || x == 4|| x == 5 || x == 6 || x == 7 || x == 8 || x == 9))

return false;

}

}

//< this.set (o metodo que você quer validar)>

return true;

}
Rodrigo_Sasaki

Eu acho que não tá funcionando não :slight_smile: testa aí e diz se deu certo

E

Hum… por que é que você usa essa condição complicada “op.length() <= 7”? Só de olhar isso já vi que está errado. Mas você vai ter de pensar um pouco para ver o que está certo.

Você não testou seu método direito.

Além disso, não estou vendo aqui no seu código uma forma de testar se o caracter x é uma letra de A até Z), que é um dos requisitos básicos da sua lição de casa.
Vou dar uma colherzinha de chá.

Para não ter de ficar fazendo esse tipo de código difícil de verificar (é fácil de escrever, mas você pode acabar esquecendo um dígito. Para conferir se está certo, você vai ter um trabalhão daqueles, e você deve saber que aprender a programar é aprender a ser preguiçoso da maneira certa - não ser preguiçoso para pensar, mas ser preguiçoso para ficar usando copiar e colar : )

if (x == '0' || x == '1' || x == '2' || x == '3' || x == '4'
|| x == '5' || x == '6' || x == '7' || x == '8' || x == '9') {

você pode usar algo mais preguiçoso, mais rápido e mais fácil de entender:

if ('0' <= x && x <= '9') {

Da mesma forma, para checar se um caracter está no intervalo de A até Z, você pode tentar:

if ('A' <= x && x <= 'Z') {

OK?

Rodrigo_Sasaki

Tem que tomar um cuidado com essa linha aqui também:if (op.charAt(cont) >= 3){ ... }

Criado 13 de junho de 2013
Ultima resposta 13 de jun. de 2013
Respostas 12
Participantes 3