lpr-b:lpr-b-09:faq
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| lpr-b:lpr-b-09:faq [24/09/2009 alle 14:13 (16 anni fa)] – Andrea Corradini | lpr-b:lpr-b-09:faq [20/10/2009 alle 15:23 (16 anni fa)] (versione attuale) – Andrea Corradini | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| + | |||
| + | |||
| ====== FAQ (Frequently Asked Questions) ====== | ====== FAQ (Frequently Asked Questions) ====== | ||
| [[start|Torna alla pagina principale di LPR-B-09]] | [[start|Torna alla pagina principale di LPR-B-09]] | ||
| - | ===== Domande su esercitazioni in laboratorio | + | ====== Eclipse ====== |
| - | ==== Come si settano i parametri d' | + | ===== Parametri di linea di comando in Eclipse ===== |
| + | |||
| + | ** Come si settano i parametri d' | ||
| Supponendo di avere una classe: | Supponendo di avere una classe: | ||
| Linea 43: | Linea 47: | ||
| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ||
| - | ==== Come fare per avviare Eclipse se all' | + | ===== Problemi con avvio di Eclipse ===== |
| + | |||
| + | ** Come fare per avviare Eclipse se all' | ||
| A causa di una chiusura errata di Eclipse (ad es., tramite il comando | A causa di una chiusura errata di Eclipse (ad es., tramite il comando | ||
| - | " | + | '' |
| - | sbloccarlo è necessario rimuovere il file .lock che si trova nella | + | sbloccarlo è necessario rimuovere il file '' |
| - | directory .metadata del workspace. Ad es.: | + | directory |
| + | |||
| + | < | ||
| + | ---------------------------------------------------------------------------------- | ||
| + | |||
| + | ===== File .java e .class in Eclipse ===== | ||
| + | |||
| + | ** Dove stanno i file .java e .class in un progetto creato con Eclipse e come si avvia da shell un programma creato tramite Eclipse? ** | ||
| - | -> rm [PATH]/ | ||
| - | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
| - | 3)Dove stanno i file .java e .class in un progetto creato con Eclipse e | ||
| - | come si avvia da shell un programma creato tramite Eclipse? | ||
| Al momento della creazione di un project in Eclipse, nella seconda | Al momento della creazione di un project in Eclipse, nella seconda | ||
| schermata appare un' | schermata appare un' | ||
| - | -use project folder as root for sources and class files | + | |
| - | -create separate folders for sources and class files | + | * use project folder as root for sources and class files |
| + | | ||
| + | |||
| che di default (modificabile) è settata sulla seconda scelta. In | che di default (modificabile) è settata sulla seconda scelta. In | ||
| quest' | quest' | ||
| - | chiamate " | + | chiamate |
| la seconda gli " | la seconda gli " | ||
| - | .class). Se si usano dei package, vengono create anche sottodirectory | + | '' |
| - | per ogni package sia sotto " | + | per ogni package sia sotto '' |
| - | un' | + | un' |
| directory del progetto. | directory del progetto. | ||
| - | Supponiamo di aver creato in Eclipse il progetto " | + | Supponiamo di aver creato in Eclipse il progetto |
| - | unico file " | + | unico file '' |
| - | la current directory è in tutti i casi [PATH]/ | + | la current directory è in tutti i casi '' |
| Nel caso in cui si avvi da shell (supponiamo, | Nel caso in cui si avvi da shell (supponiamo, | ||
| - | usare il parametro ' | + | usare il parametro |
| programma: | programma: | ||
| - | se si è scelto di usare directory separate per bin e src: | + | |
| e si definisce il package " | e si definisce il package " | ||
| | | ||
| Linea 83: | Linea 95: | ||
| | | ||
| | | ||
| - | con un' | + | |
| e si definisce il package " | e si definisce il package " | ||
| | | ||
| Linea 92: | Linea 104: | ||
| In tutti i casi (sia da Eclipse che da shell), se si vuole aprire un | In tutti i casi (sia da Eclipse che da shell), se si vuole aprire un | ||
| - | file usando un path relativo, ad es. tramite il comando ' | + | file usando un path relativo, ad es. tramite il comando |
| - | in = new FileInputStream(" | + | in = new FileInputStream(" |
| stia nella current directory. Per ottenere il nome della current | stia nella current directory. Per ottenere il nome della current | ||
| directory da Java, si può usare il comando: | directory da Java, si può usare il comando: | ||
| - | System.getProperty(" | + | '' |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
| - | 4)Quali sono le convenzioni per i nomi in Java? | + | ====== |
| - | -classi: prima lettera maiuscola | + | ===== Convenzioni per i nomi in Java ===== |
| - | class Raster; | + | |
| - | class ImageSprite; | + | |
| - | -interfacce: | ||
| - | interface RasterDelegate; | ||
| - | interface Storing; | ||
| - | -metodi: prima lettera | + | * classi: prima lettera |
| - | run(); | + | < |
| - | runFast(); | + | class Raster; |
| - | getBackground(); | + | class ImageSprite; </ |
| - | -variabili: prima lettera minuscola | + | * interfacce: prima lettere maiuscola |
| - | int i; | + | < |
| - | char c; | + | interface RasterDelegate; |
| - | float myWidth; | + | interface Storing;</ |
| + | |||
| + | * metodi: prima lettera minuscola | ||
| + | < | ||
| + | run(); | ||
| + | runFast(); | ||
| + | getBackground();</ | ||
| + | |||
| + | * variabili: prima lettera minuscola | ||
| + | < | ||
| + | | ||
| + | char c; | ||
| + | float myWidth;</ | ||
| Per i nomi di classi, interfacce, metodi e variabili si usa la notazione | Per i nomi di classi, interfacce, metodi e variabili si usa la notazione | ||
| Linea 122: | Linea 141: | ||
| al nome deve essere maiuscola. | al nome deve essere maiuscola. | ||
| - | -costanti: tutte maiuscole, con parole interne separate dal simbolo | + | * costanti: tutte maiuscole, con parole interne separate dal simbolo underscore " |
| - | underscore " | + | < |
| - | static final int MIN_WIDTH = 4; | + | |
| - | static final int MAX_WIDTH = 999; | + | static final int MAX_WIDTH = 999; |
| - | static final int GET_THE_CPU = 1; | + | static final int GET_THE_CPU = 1;</ |
| - | -package: nomi minuscoli | + | * package: nomi minuscoli |
| - | com.sun.eng | + | < |
| - | com.apple.quicktime.v2 | + | |
| - | edu.cmu.cs.bovik.cheese | + | com.apple.quicktime.v2 |
| + | edu.cmu.cs.bovik.cheese</ | ||
| Vedere anche: http:// | Vedere anche: http:// | ||
| + | |||
| + | ===== Conversione dei parametri del main ===== | ||
| + | |||
| + | ** Come convertire i parametri del main (stringhe) in interi/ | ||
| + | |||
| + | Supponiamo che il programma si aspetti due parametri, un intero e un | ||
| + | double. In questo caso, si può fare così: | ||
| + | |||
| + | < | ||
| + | int myInt = Integer.parseInt(args[0]); | ||
| + | double myDouble = Double.parseDouble(args[1]); | ||
| + | </ | ||
| + | |||
| + | Può convenire mettere queste istruzioni all' | ||
| + | catturare eventuali eccezioni che sono dovute, ad esempio, a mancanza di | ||
| + | input ('' | ||
| + | ('' | ||
| + | default per le variabili '' | ||
| + | messaggio di errore all' | ||
| + | |||
| + | ===== Generazione di numeri random ==== | ||
| + | |||
| + | Si può usare la classe '' | ||
| + | |||
| + | < | ||
| + | int MAX_VALUE = 100; | ||
| + | Random randomGenerator = new Random(); | ||
| + | // oppure: new Random(System.currentTimeMillis()); | ||
| + | int randomInt = randomGenerator.nextInt(MAX_VALUE);</ | ||
| + | |||
| + | **Attenzione**: | ||
| + | '' | ||
| + | numeri compresi tra 1 e '' | ||
| + | |||
| + | In alternativa si può usare il metodo statico '' | ||
| + | un '' | ||
| + | |||
| + | < | ||
| + | |||
| + | (anche in questo caso, '' | ||
| + | |||
| + | **Attenzione**: | ||
| + | |||
| + | < | ||
| + | |||
| + | Infatti, dato che l' | ||
| + | l' | ||
| + | viene convertito a 0 e quindi il risultato della moltiplicazione è 0. | ||
| + | |||
| + | |||
| + | ====== Callable ====== | ||
| + | |||
| + | ===== Eccezioni lanciate da call() ===== | ||
| + | |||
| + | ** Come si può gestire l' | ||
| + | |||
| + | A differenza del metodo '' | ||
| + | lanciare una qualunque eccezione, anche controllata. L' | ||
| + | incapsulata in una eccezione di tipo '' | ||
| + | esegue il metodo '' | ||
| + | L' | ||
| + | '' | ||
| + | |||
| + | ===== Quando termina una '' | ||
| + | |||
| + | ** Come si può essere avvisati quando termina una '' | ||
| + | |||
| + | Come descritto nella API di '' | ||
| + | la '' | ||
| + | non fa niente. Questo metodo può essere sovrascritto in una sottoclasse in modo da notificare | ||
| + | la terminazione a un altro thread in attesa dl risultato. | ||
| + | |||
lpr-b/lpr-b-09/faq.1253801634.txt.gz · Ultima modifica: 24/09/2009 alle 14:13 (16 anni fa) da Andrea Corradini
