Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-11-2012, 22:10   #1
Albsss
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 12
Ordinamento di un ArrayList

Salve a tutti...sono nuovo nel forum!! Ho deciso di iscrivermi a questo forum perchè o vedo molto serio e completo di tutto e spero che possa risolvere anche qualche mio problema...
allora io ho fatto un programmino banale in java la cui traccia è:
un file denominato "auto" contiene le informazioni sulle auto disponibili in una concessionaria di auto usate. Ogni auto è rappresentata dalle seguenti informazioni:
costruttore
modello
cilindrata
alimentazione
anno di prima immatricolazione
costo
Scrivere un programma per l'ordinamento del file rispetto all'anno di prima immatricolazione.
Ora io ho creato le tre classi (Auto,Gestore e Tester) come di seguito:

CLASSE AUTO:
import java.io.PrintStream;
import java.util.Scanner;


public class Auto implements Comparable<Auto>{
public Auto(String costruttore,String modello,int cilindrata,String alimentazione,String annoImm,int costo){
this.costruttore = costruttore;
this.modello = modello;
this.cilindrata = cilindrata;
this.alimentazione = alimentazione;
this.annoImm = annoImm;
this.costo = costo;
}
public String getCostruttore() {
return costruttore;
}
public void setCostruttore(String costruttore) {
this.costruttore = costruttore;
}
public String getModello() {
return modello;
}
public void setModello(String modello) {
this.modello = modello;
}
public String getAlimentazione() {
return alimentazione;
}
public void setAlimentazione(String alimentazione) {
this.alimentazione = alimentazione;
}
public int getCilindrata() {
return cilindrata;
}
public void setCilindrata(int cilindrata) {
this.cilindrata = cilindrata;
}
public String getAnnoImm() {
return annoImm;
}
public void setAnnoImm(String annoImm) {
this.annoImm = annoImm;
}
public int getCosto() {
return costo;
}
public void setCosto(int costo) {
this.costo = costo;
}


public static Auto read(Scanner sc){
if(!sc.hasNext())return null;
String costruttore = sc.nextLine();
if(!sc.hasNext())return null;
String modello = sc.nextLine();
if(!sc.hasNext())return null;
String cilindrata = sc.nextLine();
if(!sc.hasNext())return null;
String alimentazione = sc.nextLine();
if(!sc.hasNext())return null;
String annoImm = sc.nextLine();
if(!sc.hasNext())return null;
String costo = sc.nextLine();

return new Auto(costruttore,modello,Integer.parseInt(cilindrata),alimentazione,annoImm,Integer.parseInt(costo));
}


@Override
public String toString() {
return "Auto [costruttore=" + costruttore + ", modello=" + modello
+ ", alimentazione=" + alimentazione + ", annoImm=" + annoImm
+ ", cilindrata=" + cilindrata + ", costo=" + costo + "]";
}


public void print(PrintStream ps){
ps.println(costruttore);
ps.println(modello);
ps.println(cilindrata);
ps.println(alimentazione);
ps.println(annoImm);
ps.println(costo);
}


public int compareTo(Auto a) {
return annoImm.compareTo(a.getAnnoImm());
}


private String costruttore,modello,alimentazione,annoImm;
private int cilindrata,costo;
}

GESTORE:
import java.io.PrintStream;
import java.util.*;


public class Gestore {
public Gestore(Scanner aut){
ArrayList<Auto> auto = new ArrayList<Auto>();
Auto a = Auto.read(aut);
while(a != null){
auto.add(a);
a = Auto.read(aut);
}
}

public void printConcessionaria(PrintStream ps){
ps.println("CONCESSIONARIA");
for(Auto a : auto){
a.print(ps);
ps.println(" ---- ");
}
}
public void rAnnoImm(PrintStream ps){
ps.println("immettere anno di immatricolazione: ");
Scanner i = new Scanner(System.in);
String s = i.nextLine();
for(Auto a : auto){
if(a.getAnnoImm().equalsIgnoreCase(s)){
ps.println(a.toString());
}
}
}
private ArrayList<Auto>auto;
}

TESTER:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;


public class Tester {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean uscita = true;
PrintStream ps = new PrintStream(System.out);
Scanner in = null;
Scanner aut = null;

try{
aut = new Scanner(new File("Auto.txt"));
}
catch(FileNotFoundException e){
ps.println("FILE NON TROVATO");
}
Gestore g = new Gestore(aut);
in = new Scanner(System.in);
while(uscita){
menu(ps);
int n = in.nextInt();
if(n < 1 || n > 2){
ps.println("errore");
}
switch(n){
case 1 : g.rAnnoImm(ps);
case 2 : uscita = false;
}
}
}
public static void menu(PrintStream ps){
ps.println("Ricerca");
ps.println("1) Anno di prima immatricolazione: ");
ps.println("2) Uscire dal programma");
}
}
ora non so come procedere con l'ordinamento del file....ho provato con il collections.sort ma non riesco nell'intento...spero qualcuno possa aiutarmi...grazie

Ultima modifica di Albsss : 28-11-2012 alle 22:14. Motivo: non avevo finito di scrivere
Albsss è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2012, 13:57   #2
mone.java
Senior Member
 
L'Avatar di mone.java
 
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
Quali file devi ordinare? Cmq se intendi ordinare le auto dentro al Gestore devi fare ciò:

Codice:
public class Gestore {
    public Gestore(Scanner aut){
       ArrayList<Auto> auto = new ArrayList<Auto>();
       Auto a = Auto.read(aut);
       while(a != null){
           auto.add(a);
            a = Auto.read(aut);
       }
      Collections.sort(auto);
     }
   .........
ma una volta non erano obbligatori i tag per indicare il linguaggio?
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza"
mone.java è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2012, 07:58   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da mone.java Guarda i messaggi
ma una volta non erano obbligatori i tag per indicare il linguaggio?
Sì, una volta, quando la sezione era costantemente controllata dai moderatori.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2012, 07:59   #4
mone.java
Senior Member
 
L'Avatar di mone.java
 
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Sì, una volta, quando la sezione era costantemente controllata dai moderatori.
Significa che sta cadendo in decadenza?? Peccato...
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza"
mone.java è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
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: 23:45.


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