Como determinar o tamanho de um dado em uma classe
9 respostas
G
GilsnSilva
Olá,
Eu criei um menu básico em console mesmo e preciso limitar o tamanho de um dado do tipo long para 13 dígitos. Quando o usuário digitar o valor, não poderá passar dessa quantidade e também não poderá ser menor.
Exemplo:
Criei a classe
public class TamanhoItem {
long 13Digitos;
String descricao;
int valorEstoque;
float valorVenda;
}
Em long 13Digitos, quando for pedido ao usuário entrar com o código do item, o tamanho dessa variável deverá ser limitada em 13 dígitos.
Eu preciso também de uma ajuda sobre como fazer para localizar um item digitado pelo usuário e verificar se ele está entre os itens cadastrados, nesse caso, só preciso saber como fazer a comparação. A chave será o código de 13 dígitos.
você vai usar banco de dados? se sim seria interessante tratar pelo banco, mas de qualquer forma poderia implementar gets e sets para esses atibutos que precisam de tal validação e validar no método set o valor está dentro do esperado.
Também é uma boa opção, mas resolve somente em console.
B
btafarelo
Mas ele disse que é em console mesmo…
M
Murilo_Ferreira
Mas ele disse que é em console mesmo…
Sim eu entendi que ele precisa em console, só quiz dizer que dessa forma só vai resolver em console, ok?
Não foi critica que eu quiz fazer.
A
Artur_Martini
Acretido que o mais simples seria usar if ( objeto.lenght > 13) então faça tal coisa…
sou iniciante então me corrijam se estiver errado rsrs.
Artur Martini.
B
btafarelo
Mas se você usar o length só irá saber se tem ou não 13 caracteres.
Para saber se são todos números você terá ainda que percorrer todos os caracteres da String; ou testar com o Long.parseLong e tratar na exceção. Coisa que não é recomendada; ou testar com uma expressão regular, que foi o que usei.
O solução é sua, resolva como achar melhor ou mais fácil.
Mas o código que postei aí em cima soluciona seu problema. Qual a dúvida?
Não conseguiu utilizar ou só não entendeu o que está sendo feito?
G
GilsnSilva
Valeu pessoal pela ajuda.
Me desculpem pela demora na resposta.
Resolvi o problema limitando o tipo long a 13 dígitos com o L
Ex: 5555555555555L