View Full Version : [Java] Help
Buongiorno a tutti.. Ho questo codice:
package leggiIntero2;
import java.io.Console;
public class LeggiIntero2 {
public static void main(String[] args) {
String stringa;
int num;
stringa = Console.readLine();
num = Integer.parseInt(stringa);
System.out.println(num);
}
}
Mi da un errore in:
stringa = Console.readLine().
Come mai? Cosa manca? In NetBeans l'errore dopo la compilazione è:
init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\darkMax\Documenti\NetBeansProjects\LeggiIntero2\build\classes
C:\Documents and Settings\darkMax\Documenti\NetBeansProjects\LeggiIntero2\src\leggiintero2\LeggiIntero2.java:14: non-static method readLine() cannot be referenced from a static context
stringa = Console.readLine();
1 error
BUILD FAILED (total time: 0 seconds)
Oceans11
17-07-2008, 10:21
1) è buona norma mettere il codice tra i tag code. (Modifica il tuo post)
2) se magari posti l'errore, vieni incontro a chi ti potrebbe aiutare.
public class LeggiIntero2 {
public static void main(String[] args) throws IOException {
BufferedReader buff = new BufferedReader(new InputStreamReader( System.in ));
System.out.print("Inserisci la stringa:");
String stringa = buff.readLine();
System.out.println(stringa);
}
}
Non è necessario che converti da Stringa ad Intero se il tuo scopo è stampare semplicemente a video.
Il metodo readLine() non è statico.
public class LeggiIntero2 {
public static void main(String[] args) throws IOException {
BufferedReader buff = new BufferedReader(new InputStreamReader( System.in ));
System.out.print("Inserisci la stringa:");
String stringa = buff.readLine();
System.out.println(stringa);
}
}
Non è necessario che converti da Stringa ad Intero se il tuo scopo è stampare semplicemente a video.
Il metodo readLine() non è statico.
Il codice l'ho trovato su una dispensa online di A.Martelli. C'era questo codice e poi sotto c'era scritto:
Se in input si fornisce una stringa che non rappresenta un intero, il metodo parseInt genera una eccezione NumberFormatException, che blocca l'esecuzione.
E' errato?
No, è esatto. Ecco perchè cercavi di fare il parse da stringa ad intero.
Se vuoi ottenere l'eccezione cambia il codice aggiungendo il parse.
public class LeggiIntero2 {
public static void main(String[] args) throws IOException {
BufferedReader buff = new BufferedReader(new InputStreamReader( System.in ));
System.out.print("Inserisci la stringa:");
String stringa = buff.readLine();
int num = Integer.parseInt(stringa);
System.out.println(num);
}
}
No, è esatto. Ecco perchè cercavi di fare il parse da stringa ad intero.
Se vuoi ottenere l'eccezione cambia il codice aggiungendo il parse.
public class LeggiIntero2 {
public static void main(String[] args) throws IOException {
BufferedReader buff = new BufferedReader(new InputStreamReader( System.in ));
System.out.print("Inserisci la stringa:");
String stringa = buff.readLine();
int num = Integer.parseInt(stringa);
System.out.println(num);
}
}
Diciamo allora che è esatto ma è incompleto. Sulle dispense c'era scritto di provare quel codice e che avremmo ottenuto quella eccezione.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.