| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2005 10:28:47
|
tucamefe
Thread.start()
![[Avatar]](/images/avatar/63eb58bd4d3486f001438f911a11d323.png)
Membro desde: 23/03/2005 11:43:10
Mensagens: 45
Offline
|
Pessoal,
o metodo readInt(), para ler números do teclado, devo pegar de que classe do pacote java.io?
obrigada,
Roberta
|
"Feliz de quem entende que é preciso mudar muito para ser sempre o mesmo." (Dom Hélder Câmara) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2005 10:51:18
|
tucamefe
Thread.start()
![[Avatar]](/images/avatar/63eb58bd4d3486f001438f911a11d323.png)
Membro desde: 23/03/2005 11:43:10
Mensagens: 45
Offline
|
meu código:
tucamefe wrote:
public static void main(String[] args) throws java.io.IOException {
do{
System.out.println("Controle de Estoque\n");
System.out.println(" 1 - Controle de Fornecedor");
System.out.println(" 2 - Controle de Produto");
System.out.println(" 3 - Sair");
System.out.print("Digite a opção: ");
DataInputStream io = new DataInputStream(System.in);
int opcao = 0;
opcao = io.readInt();
switch(opcao){
case 1:
controleDeFornecedor();
break;
case 2:
controleDeProduto();
break;
case 3:
break;
default:System.out.println("Opção Inválida\n");
};
}while(true);
}
|
"Feliz de quem entende que é preciso mudar muito para ser sempre o mesmo." (Dom Hélder Câmara) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2005 11:31:10
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
DataInputStream, como você já está usando.
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2005 11:46:24
|
tucamefe
Thread.start()
![[Avatar]](/images/avatar/63eb58bd4d3486f001438f911a11d323.png)
Membro desde: 23/03/2005 11:43:10
Mensagens: 45
Offline
|
mas ele está dando erro na execução ....
assim ó ....
java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:44
at Gui.ProgramaTeste.main(ProgramaTeste.java:161)
Exception in thread "main"
......
justamente o erro que ele aponta é no => opcao = io.readInt();
|
"Feliz de quem entende que é preciso mudar muito para ser sempre o mesmo." (Dom Hélder Câmara) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2005 14:37:05
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
readInt não serve para ler inteiros do teclado. Ele serve para ler 4 bytes de um arquivo binário (DataInputStream).
Para ler algo do teclado, use readLine (da classe BufferedReader) e Integer.parseInt.
Em muitos lugares onde se ensina Java, os professores costumam dar uma classe "enlatada" que já faz isso para você, em vez de você ter de fazer algo como
Isso é realmente absurdo em Java.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2005 15:07:29
|
tucamefe
Thread.start()
![[Avatar]](/images/avatar/63eb58bd4d3486f001438f911a11d323.png)
Membro desde: 23/03/2005 11:43:10
Mensagens: 45
Offline
|
meu programa ta assim ...
public static void main(String[] args){
BufferedReader keyboardInput;
int opcao = 0;
String strLinha = "0";
try{
System.out.println("Controle de Estoque\n");
System.out.println(" 1 - Controle de Fornecedor");
System.out.println(" 2 - Controle de Produto");
System.out.println(" 3 - Sair");
System.out.println("Digite a opção: ");
keyboardInput = new BufferedReader (new InputStreamReader (System.in));
strLinha = keyboardInput.readLine();
opcao = Integer.parseInt(strLinha);
switch(opcao){
case 1:
controleDeFornecedor();
break;
case 2:
controleDeProduto();
break;
case 3:
break;
default:System.out.println("Opção Inválida\n");
};
}catch (IOException e){
System.out.println("Houve Erro de Leitura.");
}catch (NumberFormatException e){
System.out.println("Houve erro na conversão, digite apenas caracteres Numéricos.");
}
}
olha só como ele executa! o que é isso?
init:
deps-jar:
compile:
run:
Controle de Estoque
1 - Controle de Fornecedor
2 - Controle de Produto
3 - Sair
Digite a opção:
Houve erro na conversão, digite apenas caracteres Numéricos.
BUILD SUCCESSFUL (total time: 1 second)
ELE EXECUTA DIRETO SEM ESPERAR QUE EU digite alguma coisa!!!!
|
"Feliz de quem entende que é preciso mudar muito para ser sempre o mesmo." (Dom Hélder Câmara) |
|
|
 |
|
|