Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-06-2009, 14:36   #1
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
[JAVA] Sto impazzendo con i packages...

Ciao a tutti,
raga ho bisogno del vostro aiuto, sto impazzendo dietro i package.

Allora, devo creare una rubrica telefonica in java.
Ho creato una cartella su c:\ chiamata esercizio e sto lavorando li dentro.
Ho creato un file chiamato rubrica.java:
Codice:
import java.io.*;

public class rubrica{
        public static void main(String args[]) throws IOException{
    		BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) ); 
    		int Scelta = 0;
    		
	    	        System.out.println("Rubrica elettronica in Java");
		        System.out.println();
		        System.out.println("1) Visualizzare contatti");
		        System.out.println("0) Chiudere rubrica");
		        System.out.println();
	 ciclo: for(;;){
		        System.out.print("Inserire il numero della tua scelta: ");
			Scelta = Integer.parseInt(in.readLine());      
			 switch(Scelta){
		        case 1: 
		        	//VISUALIZZARE CONTATTI
		            System.out.println("VISUALIZZANDO I CONTATTI");
		        	break ciclo;
		        case 0:
		        	//CHIUDERE RUBRICA
		        	System.out.println("Chiusura agenda...");		        	
		        	break ciclo;
		        default:
		        	//SCELTA NON VALIDA
		        	System.out.println("Scelta non valida");
		            break;
			 }
		 }}
}
Ok, un menu totalmente inutile, ma funziona.

Il problema viene ora che devo creare un'altra classe nella quale creare il mio costruttore in modo che poi dalla classe main possa fare ad esempio:
Codice:
RubricaTelefonica [] lamiarubrica = new RubricaTelefonica[5];
Visto che nello stesso file non posso scrivere più di una classe e questa deve avere il nome del file, come faccio ?

Ho pensato di creare un'altro file appunto e poi di unire il tutto con i package, ma non sono stato capace di farlo. Mi aiutate? Ne ho bisogno :/
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 14:54   #2
renaulto
Member
 
Iscritto dal: Oct 2004
Messaggi: 159
Quote:
Originariamente inviato da InsomNia_Italy Guarda i messaggi
Visto che nello stesso file non posso scrivere più di una classe e questa deve avere il nome del file
Questo vale solo per la classe con modificatore 'public'.

Quindi:

public class Rubrica{
}

class A {
}

class B {
}

ecc..
renaulto è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:33   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Puoi tranquillamente creare un secondo file, chiamiamolo Pippo.java, nel quale è dichiarata la tua classe Pippo il cui costruttore... può fare quello che gli pare. A questo puoi aggiungere un terzo file, Main.java, in cui dichiari una classe Main che contiene un metodo "main" che...fa quel che deve.

Se tutti i file sorgente sono nella stessa cartella, compilerai con un bel:

javac -d . *.java

e il compilatore farà il resto.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:33   #4
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
i packages devono esser dichiarati sopra la dichiarazione delle classi
Codice:
packages miopackage;
ed il file và messo sotto
Codice:
%MIA_CARTELLA%\miopackage
, quindi nel tuo caso avrai due file Rubrica.java e Altro.java

file: %MIA_CARTELLA%\rubrica\Rubrica.java
Codice:
package rubrica;

public class Rubrica{

//blah blah blah

}
file: %MIA_CARTELLA%\rubrica\Altro.java
Codice:
package rubrica;

public class Altro{

//blah blah blah

}
per compilare dalla cartella %MIA_CARTELLA% farai
Codice:
javac rubrica\*.java
mentre per eseguire sempre dalla cartella %MIA_CARTELLA% ipotizzando che il mai si trovi nella classe Rubrica farai
Codice:
java rubrica.Rubrica
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:41   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quote:
Originariamente inviato da morskott Guarda i messaggi
ed il file và messo sotto
Codice:
%MIA_CARTELLA%\miopackage
, quindi nel tuo caso avrai due file Rubrica.java e Altro.java

file: %MIA_CARTELLA%\rubrica\Rubrica.java
No. I file sorgente possono stare ovunque.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:48   #6
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
Ecco, lo sapevo che c'era qualcosa di troppo strano =)

Comunque, vorrei approfittarne per chiedervi un'altra cosa. Per organizzare meglio il lavoro vorrei utilizzare quelle che in altri linguaggi sono le classiche funzioni/procedure, qui sono tutti metodi no?

Vi incollo un pezzetto di codice:
Codice:
import java.io.*;

public class rubrica{

        public static void main(String args[]) throws IOException{
		SOGGETTO [] miosoggetto = new SOGGETTO[1];
		rubrica.Riempi();
                       rubrica.Visualizza();
	}

	public static void Riempi(){
		miosoggetto[0] = new SOGGETTO("PAPERINO","PLUTO");
	}

	public static void Visualizza(){
		miosoggetto[0].getCognome();
                       miosoggetto[0].getNome();
	}

} //FINE CLASSE RUBRICA



//COSTRUTTORE
class SOGGETTO{
	private String cognome;
	private String nome;

	public SOGGETTO(String cogn,String nom)	{
	   cognome = cogn;
	   nome = nom;
	}

	public String getCognome(){
		return cognome;
	}
	public String getNome(){
		return nome;
	}
} //FINE CLASSE SOGGETTO
Mi segnala problemi nel metodo per il riempimento ed in quello per la visualizzazione dicendo che non riesce a trovare miosoggetto....
Come faccio per indicargli che è stato dichiarato nel main? Devo renderlo tipo globale? Come?

Grazie mille per il vostro aiuto!!
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:53   #7
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
No. I file sorgente possono stare ovunque.
che io sappia la disposizione dei file sorgente in caso di uso dei packages è obbligata, mo provo, magari mi sbaglio

EDIT: hai ragione tu, è solo in fase di esecuzione che sei obbligato, comunque penso sia buona pratica pure coi files sorgenti rispettare le cartelle che avrai in fase di esecuzione
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB

Ultima modifica di morskott : 12-06-2009 alle 15:56.
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:57   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Puoi spostare la dichiarazione della variabile soggetto dal corpo del metodo main al corpo della classe rubrica. Poichè accedi alla variabile da contesti statici la variabile stessa deve essere statica.

Codice:
import java.io.*;

public class rubrica{
        private static SOGGETTO [] miosoggetto = new SOGGETTO[1];

        public static void main(String args[]) throws IOException{
		rubrica.Riempi();
		...eccetera
Tecnicamente vai a creare un'intersezione tra l'ambito del nome "miosoggetto" e l'ambito del corpo dei metodi statici in cui lo vuoi usare. Prima non ti funzionava perchè gli stessi ambiti erano disgiunti. Ma è dettagliume.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 15:57   #9
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da InsomNia_Italy Guarda i messaggi
Ecco, lo sapevo che c'era qualcosa di troppo strano =)

Comunque, vorrei approfittarne per chiedervi un'altra cosa. Per organizzare meglio il lavoro vorrei utilizzare quelle che in altri linguaggi sono le classiche funzioni/procedure, qui sono tutti metodi no?

Vi incollo un pezzetto di codice:
Codice:
import java.io.*;

public class rubrica{

        public static void main(String args[]) throws IOException{
		SOGGETTO [] miosoggetto = new SOGGETTO[1];
		rubrica.Riempi();
                       rubrica.Visualizza();
	}

	public static void Riempi(){
		miosoggetto[0] = new SOGGETTO("PAPERINO","PLUTO");
	}

	public static void Visualizza(){
		miosoggetto[0].getCognome();
                       miosoggetto[0].getNome();
	}

} //FINE CLASSE RUBRICA



//COSTRUTTORE
class SOGGETTO{
	private String cognome;
	private String nome;

	public SOGGETTO(String cogn,String nom)	{
	   cognome = cogn;
	   nome = nom;
	}

	public String getCognome(){
		return cognome;
	}
	public String getNome(){
		return nome;
	}
} //FINE CLASSE SOGGETTO
Mi segnala problemi nel metodo per il riempimento ed in quello per la visualizzazione dicendo che non riesce a trovare miosoggetto....
Come faccio per indicargli che è stato dichiarato nel main? Devo renderlo tipo globale? Come?

Grazie mille per il vostro aiuto!!
Hai mai visto java prima d'ora?
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 16:01   #10
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quote:
Originariamente inviato da morskott Guarda i messaggi
è solo in fase di esecuzione che sei obbligato, comunque penso sia buona pratica pure coi files sorgenti rispettare le cartelle che avrai in fase di esecuzione
Sì, è un'ottima pratica.

Per l'esecuzione in verità la questione della collocazione dei file class in cartelle appartenenti a rami aventi la stessa struttura del nome del package è un dettaglio della specifica versione di Java proposta da Sun. La piattaforma intesa come "standard" è indipendente da questa particolarità - e in effetti è possibile e a volte utile caricare le classi da un database attraverso le librerie standard.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 16:03   #11
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Puoi spostare la dichiarazione della variabile soggetto dal corpo del metodo main al corpo della classe rubrica. Poichè accedi alla variabile da contesti statici la variabile stessa deve essere statica.

Codice:
import java.io.*;

public class rubrica{
        private static SOGGETTO [] miosoggetto = new SOGGETTO[1];

        public static void main(String args[]) throws IOException{
		rubrica.Riempi();
		...eccetera
Tecnicamente vai a creare un'intersezione tra l'ambito del nome "miosoggetto" e l'ambito del corpo dei metodi statici in cui lo vuoi usare. Prima non ti funzionava perchè gli stessi ambiti erano disgiunti. Ma è dettagliume.
Ti ringrazio, gentilissimo e preciso!
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 16:04   #12
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
Quote:
Originariamente inviato da morskott Guarda i messaggi
Hai mai visto java prima d'ora?
Spiritoso!

Usavo Visual Basic parecchio tempo fa, ora sto cercando di avvicinarmi al Java, non lapidatemi per questo eh...
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 16:12   #13
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quote:
Originariamente inviato da InsomNia_Italy Guarda i messaggi
Spiritoso!

Usavo Visual Basic parecchio tempo fa, ora sto cercando di avvicinarmi al Java, non lapidatemi per questo eh...
Pian piano si impara tutto. Forse è anche meglio iniziare a usare una lingua secondo un metodo appreso in una lingua diversa. A un certo punto scoprirai quasi per caso che alcune cose possono essere fatte diversamente. Impararlo tutto d'un botto sarebbe bello ma lo darei per ostico: negli anni ha accumulato parecchie caratteristiche.

Hai tutta la mia solidarietà: io parto da Java e sto cercando di addentrarmi in Scala. Ogni tre righe tiro due parolacce e un lamento. E con tutta probabilità se uno "scaliano" vedesse i miei sorgenti perderebbe due o tre diottrie. L'importante è perseverare.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 16:15   #14
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da InsomNia_Italy Guarda i messaggi
Spiritoso!

Usavo Visual Basic parecchio tempo fa, ora sto cercando di avvicinarmi al Java, non lapidatemi per questo eh...
non volevo essere nè ironico nè offensivo, volevo solo sapere a che livello stavi, se ti son sembrato uno delle due scusami.

In java puoi accedere a qualsiasi variabile che sia nello scope corrente, dentro ad un metodo puoi accedere a: variabili locali al metodo, variabili argomenti del metodo, variabili di classe (se il metodo è statico a variabili statiche, se il metodo non è statico a variabili sia statiche che non), puoi anche accedere a variabili non della tua classe se e solo se rientri nel modificatore applicato alla variabile che vuoi vedere: se la variabile ha modificatore "public" puoi accederci da dovunque, modificatore di default (se non ci scrivi nulla) solo dall'interno del suo package, "protected" dall'interno del suo package a da tutte le classi che ereditano e "private" solo dalla classe di dichiarazione.

Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Sì, è un'ottima pratica.

Per l'esecuzione in verità la questione della collocazione dei file class in cartelle appartenenti a rami aventi la stessa struttura del nome del package è un dettaglio della specifica versione di Java proposta da Sun. La piattaforma intesa come "standard" è indipendente da questa particolarità - e in effetti è possibile e a volte utile caricare le classi da un database attraverso le librerie standard.
Si, dipende dal classloader che hai a runtime, una volta dovetti far un classloader moddato che se non trovava il .class in locale se lo andava a cercare ad uno specifico indirizzo di rete, la forza di java penso sia pure questa, puoi "giocarci" a piacere
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB

Ultima modifica di morskott : 12-06-2009 alle 16:18.
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 19:12   #15
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
nessun problema morskott

Allora, aggiornamenti. Funziona tutto quello che deve funzionare, ripetizione menu, inserimento informationi (cognome, nome, età) previa richiesta di quanti inserirne, visualizzazione del tutto etc..

Mi chiedevo ora una cosa. Ogni volta che aggiungo nominativi, questi vengono salvati dopo quelli già presenti. Esiste un modo per ordinare automaticamente la classe creata ad hoc? Esiste un modo sbrigativo, avendo una classe già ordinata, per inserire il nuovo record nella posizione esatta in base all'ordinamento basato sul cognome?

Ho provato con Arrays.sort e Collections.sort ma non credo facciano al caso mio. Oppure sbaglio ad usarle

Grazie come sempre!!
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2009, 21:16   #16
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Hai tante opzioni per l'ordinamento. Collections.sort ordina liste (java.util.List). Arrays.sort ordina array (pippo[]). In entrambi i casi hai la possibilità di ordinare per criteri interni o esterni al tipo di oggetti contenuti nella lista o nell'array.

Per ordinare rispetto ad un criterio interno devi prendere la classe che dichiara il tipo di dato contenuto nella lista (diciamo la classe Pippo) e renderla implementazione dell'interfaccia Comparable<Pippo>.

Per ordinare rispetto ad un criterio esterno devi creare un'istanza di Comparator<Pippo>. Ad esempio:

Codice:
Comparator<Pippo> ordinamentoPerCognome = new Comparator<Pippo>() {
    public int compare(Pippo a, Pippo b) {
        return Collator.getInstance().compare(a.getCognome(), b.getCognome());
    }
};
A questo punto puoi usare "ordinamentoPerCognome" come secondo argomento del metodo Arrays.sort o del metodo Collections.sort. Il risultato è che l'array o la lista passata come primo argomento dei predetti metodi saranno ordinati in base al valore dei rispettivi campi "cognome".
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2009, 15:38   #17
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
Ciao, grazie per la risposta.

Ho provato a fare come dici tu, ma probabilmente sbaglio qualche cosa e ritorno un errore quando provo a visualizzare la lista ordinata:

La classe SOGGETTO è questa:
Codice:
class SOGGETTO{
	private String cognome;
	private String nome;
	
    Comparator<SOGGETTO> ordinamentoPerCognome = new Comparator<SOGGETTO>(){
    	public int compare(SOGGETTO A,SOGGETTO B) {
    		return Collator.getInstance().compare(A.cognome, B.cognome);
    	}
    };

	public SOGGETTO(String cogn,String nom)	{
	   cognome = cogn;
	   nome = nom;
	}
	public String getCognome(){
		return cognome;
	}
	public String getNome(){
		return nome;
	}
} //FINE CLASSE SOGGETTO
nella classe principale Rubrica utilizzo:

Codice:
private static SOGGETTO [] nominativo = new SOGGETTO[50];
e prima di visualizzare tutti i nominativi inseriti questo:

Codice:
Arrays.sort(nominativo);
L'errore che ricevo è questo:

Codice:
Exception in thread "main" java.lang.ClassCastException: SOGGETTO cannot be cast to java.lang.Comparable
	at java.util.Arrays.mergeSort(Unknown Source)
	at java.util.Arrays.mergeSort(Unknown Source)
	at java.util.Arrays.mergeSort(Unknown Source)
	at java.util.Arrays.mergeSort(Unknown Source)
	at java.util.Arrays.sort(Unknown Source)
	at rubrica.Visualizza(rubrica.java:73)
	at rubrica.main(rubrica.java:30)
Cosa sbaglio?
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2009, 15:47   #18
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Togli il comparator da soggetto:

Codice:
class SOGGETTO{
	private String cognome;
	private String nome;

	public SOGGETTO(String cogn,String nom)	{
	   cognome = cogn;
	   nome = nom;
	}
	public String getCognome(){
		return cognome;
	}
	public String getNome(){
		return nome;
	}
} //FINE CLASSE SOGGETTO
dichiaralo prima di ordinare e usa il metodo sort che prende un comparator:

Codice:
	
    Comparator<SOGGETTO> ordinamentoPerCognome = new Comparator<SOGGETTO>(){
    	public int compare(SOGGETTO A,SOGGETTO B) {
    		return Collator.getInstance().compare(A.cognome, B.cognome);
    	}
    };
    Arrays.sort(nominativo, ordinamentoPerCognome);
Usando il metodo sort con un solo argomento Arrays si aspetta che SOGGETTO sia un Comparable cioè che tu abbia una cosa tipo:

Codice:
public class SOGGETTO implements Comparable<SOGGETTO> {
...eccetera
Tieni conto che per usare il sort di Arrays non devono esserci elementi "null" nell'array da ordinare.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2009, 18:24   #19
InsomNia_Italy
Member
 
Iscritto dal: Jan 2007
Messaggi: 75
Ok funziona alla grande nel caso in cui imposti un numero di oggetti da creare e li riempia tutti, proprio come avevi detto tu.

Non esiste un modo per ordinare anche avendo oggetti null?
Altrimenti mi tocca riallocare il numero di oggetti ad ogni operazione che ne modifica il numero, come ad esempio aggiunta/rimozione.
InsomNia_Italy è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2009, 18:34   #20
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Usa una lista al posto dell'array.

private static ArrayList<SOGGETTO> nominativi = new ArrayList<SOGGETTO>();

per aggiungere elementi scrivi:

nominativo.add(un soggetto)

anzichè:

nominativo[x] = qualcosa

per togliergli

nominativo.remove(un indice);

L'ordinamento lo fai con Collections:

Collections.sort(nominativi, comparatore);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
X ha disattivato l'account pubblicitario...
Colpo di scena a Hollywood: Paramount pr...
Malesia, giro di vite sul mining illegal...
Meta rivede la roadmap: visore ultralegg...
Addio ricariche continue con le elettric...
Maxi sconto sul robot del futuro: roboro...
I 3 super TV OLED e QLED crollati su Ama...
Tre notebook fuori di testa in sconto: M...
Sconti iPhone su Amazon: oggi ci sono i ...
Google rende disponibile Gemini 3 Deep T...
I 3 super robot Dreame Aqua10 Roller tor...
Tornano in sconto le scope elettriche Ti...
IA nei videogiochi: anche SEGA la utiliz...
Apple in piena tempesta: anche il boss d...
Due GeForce GTX 580 in SLI: l'insospetta...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v