PDA

Visualizza la versione completa : [JAVA] Leggere interi da Shell


pappy
07-03-2006, 13:53
Ciao
ho un problemino con java. Io ho creato un intero. Il problema sorge quando devo prenderlo da input tramite shell. Non riesco a trovare il modo (readLine() non funziona, getInteger nemmeno...). Qualcuno puo' aiutarmi?

Andrea1979
07-03-2006, 13:55
System.in.read

Comunque, se avessi cercato nelle pillole, ne avresti trovata una (aggiungo bellissima) di LeleFT con una classe intera per leggere qualunque tipo di dato da shell

http://forum.html.it/forum/showthread.php?s=&postid=7243545#post7243545

pappy
07-03-2006, 13:59
Sytem.in.read legge i byte e ritorna i byte...
Comunque le pillole le avevo gia' viste, speravo solo ci fosse qualcosa di piu' corto e piu' semplice

alka
07-03-2006, 15:10
Carino il titolo divertente, ma la prevalenza va data al rispetto del Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=862017). :)

pappy
07-03-2006, 17:38
hem...sorry :(

Andrea1979
07-03-2006, 19:23
e comunque la risposta non era tanto lunga... se ti servono solo gli interi



import java.io.*;
import java.util.StringTokenizer;

public class Tastiera {
private static InputStreamReader is = new InputStreamReader( System.in );
private static BufferedReader br = new BufferedReader( is );
private static StringTokenizer st;

public static int leggiIntero() {
int i = 0;

try {
String tmp = br.readLine();
st = new StringTokenizer(tmp);
i = Integer.parseInt( st.nextToken() );
} catch (Exception e) { e.printStackTrace(); }

return i;
}
}


*Grazie LeleFT!*

denat
07-03-2006, 19:48
legge finche non avviene un inserimento corretto

public int leggiInt(String msg){

BufferedReader console = new BufferedReader(new InputStreamReader(System.in));

System.out.print(msg);
int datoInt=0;
boolean inserimentoOk=false;
while(inserimentoOk==false)
try{
String s=console.readLine();
datoInt=Integer.parseInt(s);
inserimentoOk=true;
}catch(IOException ioe){
ioe.toString();
}
catch(NumberFormatException nfe){
System.out.println(" Numero non valido!.");
System.out.print(" Reinserisci: ");
}
return datoInt;
}
ciao Marco

pappy
07-03-2006, 23:29
thanks a lot, adesso provo :)

Loading