Oi pessoal, estou fazendo um exercicio e estou com 2 dúvidas:
A primeira ele pede pra digitar um ano ‘xxxx’ (no caso é o ano q a pessoa fez o cadastro…mas isso n vem ao caso), eu logo pensei em simplesmente usar int (pra ler somente numeros inteiros)
mas ai não teria limite de caracteres né…imaginem a pessoa digita no ano 21253 (futuro beeeem distante hahahaha…brincadeira).
minha outra dúvida é a seguinte, pede-se também a entrada de um dado que tenha 5 caracteres alfanumericos (nesse caso eu até pensei em usar string, mas como se faz pra ele ler 5 catacteres? e como fica a leitura no Scanner?)
[quote=zenk]Oi pessoal, estou fazendo um exercicio e estou com 2 dúvidas:
A primeira ele pede pra digitar um ano ‘xxxx’ (no caso é o ano q a pessoa fez o cadastro…mas isso n vem ao caso), eu logo pensei em simplesmente usar int (pra ler somente numeros inteiros)
mas ai não teria limite de caracteres né…imaginem a pessoa digita no ano 21253 (futuro beeeem distante hahahaha…brincadeira).
minha outra dúvida é a seguinte, pede-se também a entrada de um dado que tenha 5 caracteres alfanumericos (nesse caso eu até pensei em usar string, mas como se faz pra ele ler 5 catacteres? e como fica a leitura no Scanner?)
agradeço desde já.
vlw galera[/quote]
Armazene o ano em uma string mesmo. Em modo texto você não tem poder pra limitar a quantidade de caracteres. Sugiro que leia a entrada e depois valide (expressões regulares, SimpleDateFormat, e etc.),
Armazene o ano em uma string mesmo. Em modo texto você não tem poder pra limitar a quantidade de caracteres. Sugiro que leia a entrada e depois valide (expressões regulares, SimpleDateFormat, e etc.),
[]'s[/quote]
Boa Noite André, obrigado pela atenção =)
Veja bem, se eu colocar o ano em uma String (será possível a pessoa digitar letras também…)
[quote=zenk]Armazene o ano em uma string mesmo. Em modo texto você não tem poder pra limitar a quantidade de caracteres. Sugiro que leia a entrada e depois valide (expressões regulares, SimpleDateFormat, e etc.),
[]'s[/quote]
Boa Noite André, obrigado pela atenção =)
Veja bem, se eu colocar o ano em uma String (será possível a pessoa digitar letras também…)[/quote]
Sim. Mas você pode remover as letras da string. Mas, de toda forma, valide a string, como eu havia sugerido.
[quote=zenk]como eu faço pra remover letras da string.
Como assim validar string.
nao entendi =/[/quote]
Há várias formas de se faze-lo. Você pode substituir caracteres através do método replaceAll(), pode converter a string em um vetor, e comparar elemento por elemento e pode utilizar expressões regulares i[/i].
[quote] Oi Zenk, não sei se entendi o que você realmente está procurando.
Mas vou colocar de um forma bem simples um código que talvez possa esclarecer suas duvidas. [/quote]
import java.util.Scanner;
public class TestDriveDado {
public static void main(String[] args) {
String dado;
Scanner sc = new Scanner(System.in);
do {
System.out.println("Digite um dado com até 5 caracteres: ");
dado = sc.nextLine();
if(dado.length() > 5){
System.out.println("OPSs!! Informe um dado válido");
}
} while (dado.length() > 5);
}
}
Galera, estive fora uns dias pois estava doente, por isso não continuei perguntando rsrs (brincadeira).
import java.util.Scanner;
public class TestDriveDado {
public static void main(String[] args) {
String dado;
Scanner sc = new Scanner(System.in);
do {
System.out.println("Digite um dado com até 5 caracteres: ");
dado = sc.nextLine();
if(dado.length() > 5){
System.out.println("OPSs!! Informe um dado válido");
}
} while (dado.length() > 5);
}
}
[/quote]
Nossa, MUUUITO obrigado a todos, de verdade.
É tão simples que assusta
Só faltava essa solução, quanto ao ano, eu resolvi da seguinte forma:
if (ano < 1860 || ano > 2011)
System.out.println ("Ano invalido");
dessa forma até que funciona (coloquei 1860 porque eu imagino que não exista ninguem com 151 anos rsrsrs, e tbm não existem homens do futuro pra por nascimento depois de 2011).
porém, dessa forma eu teria que todo ano alterar o 2011 para 2012 dpeois 2013, etc.
Fora dos pedidos de meu trabalho, e dentro de minha curiosidade eu os pergunto (rsrs)
Existe alguma solução para isso?
Eu criando um pedido para a pessoa colocar a data de nascimento, há possibilidades de automaticamente calcular a idade?