PDA

View Full Version : [java] output nella console


manuel 66
22-12-2010, 18:45
Salve da poco ho iniziato a programmare in java, ho comprato il libro "fondamentali di programmazione" della McGrow-hill, e sono arrivato al punto in cui spiega l'output:

System.out.print("testo")

scrivo il progetto, lo compilo (bluej) e lo converto in .jar, ma quando vado ad eseguirlo nn succede niente, o meglio credo si apra la console e si chiuda istantaneamente me ne sono accorto guardando il numero di processi del taskmanager.

perche nn rimane aperta la console ?, come posso risolvere

Ludo237
22-12-2010, 18:48
non ho mai fatto java

ma ho programmato applicazioni c/c++ in console penso che la logica sia la stessa
credo che il problema stia nel fatto che non gli dici "attendi dopo che hai finito le istruzioni" in c/c++ io usato system("pause") putroppo in java non so la sintassi :doh:

khelidan1980
22-12-2010, 18:49
Salve da poco ho iniziato a programmare in java, ho comprato il libro "fondamentali di programmazione" della McGrow-hill, e sono arrivato al punto in cui spiega l'output:

System.out.print("testo")

scrivo il progetto, lo compilo (bluej) e lo converto in .jar, ma quando vado ad eseguirlo nn succede niente, o meglio credo si apra la console e si chiuda istantaneamente me ne sono accorto guardando il numero di processi del taskmanager.

perche nn rimane aperta la console ?, come posso risolvere

è Win che si comporta così, apri la console tu prima, spostati dove hai il jar e dai:

jar tuojar.jar

non conosco bluej ma in tutti gli ide puoi lanciare il tuo programma direttamente da lì, senza passare dalla console etc...se non lo fa ti consiglio di cambiare e buttarti su ide vero e proprio perchè probabilmente stai usando un editor, ti consiglio netbeans o eclipse

manuel 66
22-12-2010, 19:01
è Win che si comporta così, apri la console tu prima, spostati dove hai il jar e dai:

jar tuojar.jar



ho fatto come hai detto, ma nn succede lo stesso niente



non conosco bluej ma in tutti gli ide puoi lanciare il tuo programma direttamente da lì, senza passare dalla console etc...se non lo fa ti consiglio di cambiare e buttarti su ide vero e proprio perchè probabilmente stai usando un editor, ti consiglio netbeans o eclipse

in bluej nn li puoi lanciare direttamente, infatti e abbastanza scomodo ma lo trovo semplice e veloce.
ho installato anche eclipse, ma mi e sembrato troppo pesante e complicato

Ludo237
22-12-2010, 20:43
be pesante e complicato Eclipse ... mi sembra esagerato

comunque ho provato su Netbeans
(unico ide che uso per Java)

e li se proprio lo vuoi fare rozzo puoi provare


try {
Thread.sleep(500);
}
catch (Exception e) {}

manuel 66
22-12-2010, 23:41
be pesante e complicato Eclipse ... mi sembra esagerato


forse ho un po esagerato dicendo che e complicato, sono abituato a programmare in vb.net.

su eclipse si possono creare maschere o interfacce grafiche come in ambiente vb.net ?
poi non ho capito come mandare in esecuzione un progetto, clicco su run e mi scrive un messaggio dicendo che nn lo puo lanciare




try {
Thread.sleep(500);
}
catch (Exception e) {}


con il try prevengo l'errore e catturo l'eccezione giusto ?

manuel 66
22-12-2010, 23:42
domani provero un'altro editor, "java editor" che dovrebbe permettere lo sviluppo di un'interfaccia grafica

banryu79
23-12-2010, 11:55
BlueJ è ottimo per approcciare il paradigma object oriented, lo trovo molto "didattico".
Per il tuo problema è sufficiente che aggiungi queste due righe come istruzioni finali nel tuo metodo main:

...
public static void main(String[] args) {
System.out.print("testo");

Scanner input = new Scanner(System.in);
input.nextLine();
}
..

In questo modo la consolle/terminale rimarrà aperta finchè non digiterai da tastiera (lo standard input che nel codice è rappresentato da System.in) un carattere di newline (premi il tasto Invio).

P.S.: la classe Scanner si trova nel package java.util che dovrai importare con l'istruzione import.

PGI-Bis
23-12-2010, 12:22
Il quasi azzeccato va a khelidan1980. Il comando è:

java -jar tuojar.jar

Usando jar tuojar.jar dovrebbe comunque apparire un messaggio di errore o di comando non riconosciuto.

La ragione per cui il doppio click sul jar non funziona è che in windows i file eseguibili jar sono associati al programma javaw.exe che causa l'avvio di un processo senza passare dal prompt dei comandi.

manuel 66
23-12-2010, 16:25
...
public static void main(String[] args) {
System.out.print("testo");

Scanner input = new Scanner(System.in);
input.nextLine();
}
..

In questo modo la consolle/terminale rimarrà aperta finchè non digiterai da tastiera (lo standard input che nel codice è rappresentato da System.in) un carattere di newline (premi il tasto Invio).

P.S.: la classe Scanner si trova nel package java.util che dovrai importare con l'istruzione import.

avevo gia precedentemente provato a mandare l'input in questo modo senza alcun risultato, cmq per ovviare a qst problema ho usato JOptionPane sia come input, che come output

manuel 66
23-12-2010, 16:27
Il quasi azzeccato va a khelidan1980. Il comando è:

java -jar tuojar.jar

Usando jar tuojar.jar dovrebbe comunque apparire un messaggio di errore o di comando non riconosciuto.

La ragione per cui il doppio click sul jar non funziona è che in windows i file eseguibili jar sono associati al programma javaw.exe che causa l'avvio di un processo senza passare dal prompt dei comandi.

grazie mille funziona