Vai al contenuto
PLC Forum


Java: Vettori Di Oggetti


uscrocc

Messaggi consigliati

Ciao ragazzi, sono nuovo del forum e mi rendo conto che sto scrivendo in un forum preparato :smile: . Vi spiego un po la situazione, sono uno studente e tra un due giorni avrò il test di informatica che tratterà di vettori di oggetti in java. Uso eclipse come IDE.
Fino ad ora ho programmato programmi con i seguenti testi:
Scrivi un programma (classe con solo main) per gestire i libri disponibili in una libreria (massimo 50). Ad ogni libro e' assciato un codice (intero progressivo), un titolo, un numero di copie, un prezzo (in euro), un editore e un autore.
Si deve permettere:
1- la modifica del numero di copie di un libro presente in libreria (dato il suo codice).
2- la visualizzazione del prezzo di un libro dato il suo codice.
3- la visualiz. del numero di copie presenti dato il codice del libro.
4- la visualiz. del totale dei libri della libreria.
5- la visualiz. dei libri più costosi.
6- la visualizzazione dei libri il cui titolo e' lungo 4 caratteri.
7- la visualiz. dei libri di un certo autore.
poi :
Dopo aver costruito la classe automobile con marca, modello, descrizione, prezzo minimo, prezzo massimo e num esemplari scrivi un programma (classe con solo main) per gestire, utilizzando un vettore di oggetti le automobili di una concessionaria.
Il programma deve permettere
1- inserimento di una nuova automobile in coda al vettore assegnandole un codice numerico progressivo a partire da 1000.
2- il controllo della presenza di un'automobile nel vettore di automobili del concessionario (dopo aver acquisito da tastiera il codice).
3- la modifica del numero di esemplari di una quantita' (positiva o negativa), dato il modello e la marca dell'automobile.
4- l'elenco dei modelli delle automobili di una certa marca.
5- tutte le informazioni di una automobile, dato il suo codice.
6- il valore complessivo di tutte le automobili della concessionaria (in base al prezzo medio di ciascuna)
7- l'elenco delle automobili in ordine di prezzo minimo e di modello.
8- il numero dei diversi modelli presenti.
poi ho fatto anche :
classe persone, dati n persone e visualizzare persone che si chiamano pippo e le persone piu' anziane e le persone che hanno il nome che termina con O.
Ragazzi non vi chiedo di farmi un esercizio da capo ma di scrivermi una consegna in base agli esercizi precedenti così da poterlo fare insieme.
didatticamente so fare il tostring con il return per esempio nel caso delle automobili, il return con marca modello ecc ecc..
anche il booleano equals che confronta due vettori di oggetti
ovviamente set e get
costruttori con il passaggio di parametri (marca modello prezzomin prezzomax ecc), costruttore senza paramentri ( che incrementa automoticamente per esempio il codice).
Ecco un esercizio da me fatto
class automobile {
private String marca;
private int modello;
private String descrizione;
private int prezzomin;
private int prezzomax;
private int nesemplari;
private static int cont=0;
private int codice;
private int media;
 
public automobile(marca,modello,descrizione,prezzomin,prezzomax,nesemplari){
this.marca=marca;
this.modello=modello;
this.descrizione=descrizione;
this.prezzomin=prezzomin;
this.prezzomax=prezzomax;
this.nesemplari=nesemplari;
codice=cont+1;
cont++;
 
public void getMarca(){return marca;}
public void getModello(){return modello;}
public void getDescr(){return descrizione;}
public void getPrmin(){return prezzomin;}
public void getPrmax(){return prezzomax;}
public void getEsemplari(){return nesemplari;}
public void getCodice (){return codice;}
public void setEsemplari(nesemplari){this.nesemplari=nesemplari;}
 
public toString(){
return ("Marca "+marca+" modello "+modello+" descrizione "+descrizione+" prezzo minimo "+prezzomin+ " prezzo massimo "+prezzomax+" numero di esemplari "+nesemplari+" codice "+codice);
 
public getMediaCosto (){
media=(prezzomin+prezzomax)/nesemplari;
return media;
public boolean equals(automobile car){
return (marca.equals(car.marca)) &&(modello.equals(car.modello)) &&(descrizione.equals(car.descrizione))&& (prezzomin.equals(car.prezzomin))&& (prezzomax.equals(car.prezzomax)) && (nesemplari.equals(car.nesemplari))}
 
}
}
 
Import java.io.*;
 
public static void main (String arg){
InputStreamReader tastiera=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader (tastiera);
 
String inputt;
String marca;
String smodello;
int modello=0;
String descrizione;
String sprezzmin;
int prezzomin=0;
String sprezzmax;
int prezzomax=0;
String snesemplari;
int nesemplari;
String scodice;
int codice=0;
int modellodiv=0;
String smod;
int mod=0;
 
try{
System.out.println("Iniziare con aggiungere le informazioni di un auto? (Y/N)");
if(inputt.equals('Y')){
 
 
System.out.println("Inserire marca");
marca= input.readLine();
 
System.out.println("Inserire modello (cifre)");
smodello=input.readLine();
modello=Integer.valueOf(smodello).intValue();
 
System.out.println("Inserire descrizione");
descrizione=input.readLine();
 
System.out.println("Inserire prezzo minimo");
sprezzmin=input.readLine();
prezzomin=Integer.valueOf(sprezzmin).intValue();
 
System.out.println("Inserire il prezzo massimo");
sprezzmax=input.readLine();
prezzomax=Integer.valueOf(sprezzmax).intValue();
 
System.out.println("Inserire il numero di esemplari");
snesemplari=input.readLine();
nesemplari=Integer.valueOf(snesemplari).intValue();
}
if(inputt.equals('N')){
 
System.out.println("!!!! Attenzione !!!! Prima di cominciare e' consigliato aggiungere almeno un'auto. ");
}
}
catch(){}
 
automobile car=new automobile[200];
 
car[0]=new automobile (marca,modello,descrizione,prezzomin,prezzomax,nesemplari);
 
int scelta=99;
int n=0;
String sn;
 
 
 
while (scelta!=0){
System.out.println("********Menu'********");
System.out.println("0- Esci");
System.out.println("1- Inserire n automobili.");
System.out.println("2- Controllo della presenza di un automobile (tramite codice).");
System.out.println("3- Modifica il numero di esemplari (tramire marca e modello dell'auto).");
System.out.println("4- Visualizzare i diversi modelli delle automobili (tramite marca.");
System.out.println("5- Visualizzare tutte le informazioni dell'automobile (tramite codice).");
System.out.println("6- Il valore medio di tutte le automobili presenti.");
System.out.println("7- Visualizzare le automobili in ordine di prezzo minimo e modello.");
System.out.println("8- Il numero dei diversi modelli presenti.");
 
if(scelta==0) return;
if (scelta==1){
System.out.println("Inserire quante automobili aggiungere: ");
sn=input.readLine();
n=Integer.valueOf(sn).intValue();
 
for(int i=1;i<n;i++){
try{
System.out.println("Inserire marca");
marca= input.readLine();
 
System.out.println("Inserire modello (cifre)");
smodello=input.readLine();
modello=Integer.valueOf(smodello).intValue();
 
System.out.println("Inserire descrizione");
descrizione=input.readLine();
 
System.out.println("Inserire prezzo minimo");
sprezzmin=input.readLine();
prezzomin=Integer.valueOf(sprezzmin).intValue();
 
System.out.println("Inserire il prezzo massimo");
sprezzmax=input.readLine();
prezzomax=Integer.valueOf(sprezzmax).intValue();
 
System.out.println("Inserire il numero di esemplari");
snesemplari=input.readLine();
nesemplari=Integer.valueOf(snesemplari).intValue();
}
catch (Exception e){
System.out.println("Valore non valido!!  ");
}
car[i]=new automobile (marca,modello,descrizione,prezzomin,prezzomax,nesemplari);
}
}
if(scelta==2){
 
 
System.out.println("Inserire il codice dell'automobile da ricercare");
String scerca=input.readLine();
int cerca=Integer.valueOf(scerca).intValue();
 
for (i=0;i<200;i++){
if(car[i]).getCodice().equals(codice)){
System.out.println("Trovato!");
}
}
}
if(scelta==3){
System.out.println("Inserire marca");
marca=input.readLine();
System.out.println("Inserire modello");
smodello=input.readLine();
modello=Integer.valueOf(smodello).intValue();
 
for(int i=0;i<200;i++){
if(car[i].getMarca().equals(marca)&& car[i].getModello.equals(modello)){
System.out.println("Inserire il nuovo numero di esemplari:");
smod=input.readLine();
mod=Integer.valueOf(smod).intValue();
car[i].setEsemplari(mod);
}
}
 
}
if (scelta==4){
System.out.println("Inserisci la marca ");
marca=input.readLine();
for(int i=0;i<200;i++){
if(car[i].getMarca.equals(marca)) car[i].toString;
}
 
}
}
if (scelta==5){
System.out.println("Inserisci il codice:");
scodice=input.readLine();
codice=Integer.valueOf(scodice).intValue();
for(int i=0;i<200;i++)
if (car[i].getCodice.equals(codice)) car[i].toString();
}
 
}
if (scelta==6){
for (int i=0;i<200;i++){
int mediatot+=car[i].getMediaCosto();
}
System.out.println("Il costo complessivo delle medie e' "+mediatot);
 
}
if (scelta==7){
 
 
 
 
 
 
 
 
 
 
 
 
}
 
if(scelta==8){
for(int i=0;i<200;i++){
if(car[i].getModello.equals(car[i+1].getModello))
else modellodiv++;
}
}
System.out.println("Ci sono "+modellodiv+" modelli diversi.");
}
 
 
}
Ci sono molti errori nell'esercizio, perchè quello completo ce l'ho nell'altro pc, questo e' un più o meno di quello che so fare e che c'è nel test (il numero 7 però non sono completamente riuscito a farlo).
. me. :smile:
Link al commento
Condividi su altri siti

  • 6 months later...

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...