Log in

View Full Version : Info Java : main



Darkwave
31st October 2008, 13:04
Allora premetto che sono niubbissimo (sto imparandomi il Java da solo con un buon librino da circa una settimana, quindi sono scarsissimo e conosco un millesimo delle classi del Java).

Il mio problema è semplicissimo.
Fino ad ora ho sempre utilizzato le classi che ho creato all'interno di un compilatore (sto usando BlueJ su cui si appoggia il libro che ho comprato e mi sembra rapido ed intuitivo per ora, mi piace molto la rappresentazione delle classi), ieri sono arrivato alla parte in cui devo creare il file .jar (il compilatore permette di creare il file direttamente).
Da quel che ho capito nella classe "principale" devo creare il metodo main.

In pratica all'interno della classe Game ho fatto:

public static void main(String [] arg)
{
Game game = new Game();
game.play();
}


Game è la classe principale del mio programma (è un esercizietto stupido con un po' di classi se vi interessa posso anche postarlo) e play è il metodo principale del programmino.
public void play()


Compilando non ho nessun problema.
Il compilatore BlueJ (tra l'altro free) quando mi fa creare l'applicativo mi chiede la classe in cui c'è il main e mi chiede di includere i file sorgente (ticco tutto in modo da esser sicuro di non aver casini).

Il .jar viene eseguito, ma non succede nulla (mentre eseguendo il programma si apre una finestra di testo: visto che utilizzo comandi come System.out.println etc..)
Qualcosa cmq succede perchè vedo dal task manager che il processo va in esecuzione e si apre il processo javaw.exe che occupa il 50% della CPU (ho un dual core, magari vuol dire che mi occupa addirittura un core intero).

Cmq ho messo uno zip del progettino.


Se a tempo perso gli date un occhio vi sarei grato.
C'è sicuramente qualcosa che mi sfugge o una cagata che faccio.

Ciauz

PS: mi scuso se mi esprimo malissimo come termini SW.
Ho sempre fatto solo HW e ho deciso di guardare il Java per capire un po' bene come è la programmazione ad oggetti.

Alkabar
31st October 2008, 13:44
Allora premetto che sono niubbissimo (sto imparandomi il Java da solo con un buon librino da circa una settimana, quindi sono scarsissimo e conosco un millesimo delle classi del Java).
Il mio problema è semplicissimo.
Fino ad ora ho sempre utilizzato le classi che ho creato all'interno di un compilatore (sto usando BlueJ su cui si appoggia il libro che ho comprato e mi sembra rapido ed intuitivo per ora, mi piace molto la rappresentazione delle classi), ieri sono arrivato alla parte in cui devo creare il file .jar (il compilatore permette di creare il file direttamente).
Da quel che ho capito nella classe "principale" devo creare il metodo main.
In pratica all'interno della classe Game ho fatto:
public static void main(String [] arg)
{
Game game = new Game();
game.play();
}
Game è la classe principale del mio programma (è un esercizietto stupido con un po' di classi se vi interessa posso anche postarlo) e play è il metodo principale del programmino.
public void play()
Compilando non ho nessun problema.
Il compilatore BlueJ (tra l'altro free) quando mi fa creare l'applicativo mi chiede la classe in cui c'è il main e mi chiede di includere i file sorgente (ticco tutto in modo da esser sicuro di non aver casini).
Il .jar viene eseguito, ma non succede nulla (mentre eseguendo il programma si apre una finestra di testo: visto che utilizzo comandi come System.out.println etc..)
Qualcosa cmq succede perchè vedo dal task manager che il processo va in esecuzione e si apre il processo javaw.exe che occupa il 50% della CPU (ho un dual core, magari vuol dire che mi occupa addirittura un core intero).
Cmq ho messo uno zip del progettino.
Se a tempo perso gli date un occhio vi sarei grato.
C'è sicuramente qualcosa che mi sfugge o una cagata che faccio.
Ciauz
PS: mi scuso se mi esprimo malissimo come termini SW.
Ho sempre fatto solo HW e ho deciso di guardare il Java per capire un po' bene come è la programmazione ad oggetti.

prova da cmd line:

java -jar zuulu.jar

Alkabar
31st October 2008, 13:46
Va pure: con java -jar zuul.jar il giochino va. E' tutto corretto.

MiLLenTeX
31st October 2008, 14:01
DW io voglio darti un consiglio visto la mia esperienza passata (ora non + sfruttata per totale cambio di lavoro).
Prima di buttarti a capofitto sul linguaggio java ed al suo utilizzo, vedi di capire bene come funziona la programmazione Object Oriented.
Una volta imparata quella, che sia java o altro, andrai relativamente liscio.

Sembra una banalità, ma non è html che basta conoscere i tags, serve una logica ben definita o ti spari i for loopanti che ti esplodono la virtual machine :D

Darkwave
31st October 2008, 14:55
Grazie dei suggerimenti.. pensavo che bastasse usare il "doppio-click e amen".
Lo sapevo che al 99% era una cagata :)

@MiLLenTeX:
Infatti è proprio per quello che sono partito con Java, perchè da quel che ho capito è il linguaggio più rigido da quel punto di vista, mentre ho letto che il C++ consente di fare delle "maialate", ma prima di imparare i trucchi voglio conscere bene le basi..
Il mio fine è arrivare a usare C++ e ho deciso di passare da Java, poi ripassarmi il C e poi il C++ con le librerie di System C.

Cmq grazie del suggerimento

NoeX
31st October 2008, 19:16
Grazie dei suggerimenti.. pensavo che bastasse usare il "doppio-click e amen".
Lo sapevo che al 99% era una cagata :)

@MiLLenTeX:
Infatti è proprio per quello che sono partito con Java, perchè da quel che ho capito è il linguaggio più rigido da quel punto di vista, mentre ho letto che il C++ consente di fare delle "maialate", ma prima di imparare i trucchi voglio conscere bene le basi..
Il mio fine è arrivare a usare C++ e ho deciso di passare da Java, poi ripassarmi il C e poi il C++ con le librerie di System C.

Cmq grazie del suggerimento

stai bene attento all'ereditarietà.
In java non esiste l'ereditarietà multipla delle classi, vedi

class A extends B,C (lo puoi fare giusto per le interfacce)

in c++ che io sappia lo puoi fare, anche se non mi ci sono mai cimentato per ora con sto linguaggio


@ chi ha detto per il libro object oriented. Giusta osservazione, ma anche il libro design pattern GoF ti apre un pò la testa

Tanek
31st October 2008, 20:15
Per curiosità, che libro è?

Se sei ferrato in inglese, io ti suggerisco di dare un occhio al "pilastro" Thinking in Java di Bruce Eckel, che è anche gratuito in forma elettronica.

Buono studio :)

Darkwave
3rd November 2008, 10:01
K grazie a tutti.
Per completezza il libro che sto guardando io è:
"Programmare in JAVA con BLUEJ: Introduzione alla programmazione ad oggetti" di David J. Barnes e Michael Kolling


Edit:Sembra ben fatto pure il libro di Tanek, molto più proh del mio, ma me lo devo stampare di sgamo in ufficio.. 1200 pagine sticazzi..

Hador
3rd November 2008, 10:35
per lavorare consiglio comunque eclipse, anche perchè nel mondo reale si usa prevalentemente quello.

Tanek
3rd November 2008, 11:06
per lavorare consiglio comunque eclipse, anche perchè nel mondo reale si usa prevalentemente quello.
Quoto Hador (e infatti se faccio alt - tab appare proprio Eclipse :sneer: anzi più precisamente MyEclipse), però sai alla fine se il libro che sta leggendo è "incentrato" su quello gli conviene continuare così (imho eh), poi tanto ci si mette un paio di g nemmeno ad abituarsi ad un nuovo IDE.

ps: quel libro è più che pro :P è la bibbia :sneer:

MiLLenTeX
3rd November 2008, 11:12
Quoto Hador.
Eclipse >>> tutto il resto

Darkwave
3rd November 2008, 13:24
L'ho già installato Eclipse, ma trovo molte cose al volo ormai in BlueJ, mi finisco il mio "mini corso da autodidatta su quello" e poi proverò a far le stesse cose con Eclipse per abituarmici.

Grazie cmq delle dritte

Hador
3rd November 2008, 21:08
L'ho già installato Eclipse, ma trovo molte cose al volo ormai in BlueJ, mi finisco il mio "mini corso da autodidatta su quello" e poi proverò a far le stesse cose con Eclipse per abituarmici.

Grazie cmq delle dritte
più che altro ecplise ha un miliardo di robe automatiche comodissime e soprattutto la santissima funzione debug alla quale per la tesi dovrò fare un monumento.