View Full Version : Esercizio basilare Java
Ho letto nelle regole di sezione che non si possono ovviamente risolvere esercizi completi, ma io chiedo solo una mano per capire come fare =) :help: :help: :help:
Questo è il punto dell'esercizio che non ho idea di come fare:
Si progetti una classe che permetta, tramite i suoi oggetti di archiviare il menù informatico di una pizzeria.
Il menù presenta solo l'elenco delle pizze. Di ogni pizza sono presenti le seguenti informazioni: nome della pizza, descrizione pizza e prezzo. Il menù può contenere al più 50 pizze (non è detto che si raggiunga tale numero). Si richiede sia possibile:
1-inserire da tastiera, in fondo all'elenco, una nuova pizza;
2-Stampare i dati della pizza più economica
3-Cancellare tutte le pizze con un certo ingrediente deciso dall'utente, le posizioni vuote devono venire occupate dall'ultima posizione nell'elenco.
Innanzitutto come devo iniziare a scrivere per far capire che è una classe?
Dovrò creare più array per queste informazioni, vero? =)
Innanzitutto come devo iniziare a scrivere per far capire che è una classe?
chi ti ha dato da fare l'esercizio sicuramente avrà anche spiegato i concetti di classe e come dichiararla nel codice.
se non eri presente o non le hai capite trovati un compagno di studi e/o fattele rispiegare dal professore, sarà molto più facile capirlo che leggerlo su un forum.
Poi se trovi qualcuno che passa di qua e te le spiega passo passo è un altro discorso, sicuramente non io visto che lo vuoi in Java :sofico:
Ho fatto 6 mesi all'estero, di cui due pure in ospedale causa caduta in moto in cui ho riportato un trauma cranico e varie fratture...
Quindi sono rimasto bello indietro col programma della mia scuola.
Visto che son sempre stato abbastanza bravo in informatica, ho pensato che fosse abbastanza facile recuperarla anche in poco tempo, quindi non ho quasi mai guardato Java.
E ora sto cercando di recuperare... :mc: :mc:
Se ci fosse qualcuno abbastanza gentile da scrivermi questo esercizio così da poterlo tenere come base/schema per gli altri gliene sarei molto grato :D
clockover
26-02-2013, 15:06
Ho letto nelle regole di sezione che non si possono ovviamente risolvere esercizi completi, ma io chiedo solo una mano per capire come fare =) :help: :help: :help:
Questo è il punto dell'esercizio che non ho idea di come fare:
Si progetti una classe che permetta, tramite i suoi oggetti di archiviare il menù informatico di una pizzeria.
Il menù presenta solo l'elenco delle pizze. Di ogni pizza sono presenti le seguenti informazioni: nome della pizza, descrizione pizza e prezzo. Il menù può contenere al più 50 pizze (non è detto che si raggiunga tale numero). Si richiede sia possibile:
1-inserire da tastiera, in fondo all'elenco, una nuova pizza;
2-Stampare i dati della pizza più economica
3-Cancellare tutte le pizze con un certo ingrediente deciso dall'utente, le posizioni vuote devono venire occupate dall'ultima posizione nell'elenco.
Innanzitutto come devo iniziare a scrivere per far capire che è una classe?
Dovrò creare più array per queste informazioni, vero? =)
Comincia a scomporre il problema in più punti e a risolverli passo passo.
1) Hai bisogno di un menu dove si parla solo di pizza. Quindi ovviamente hai bisogno delle informazioni delle pizze. E quale posto migliore per raccogliere queste info se non in una classe chiamata Pizza?
2) Queste pizze sono listate all'interno di un menù... e quindi anche qui, una classe chiamata Menu potrebbe fare comodo
3) Ora puoi costruirti un metodo main che soddisfi i tuoi punti 1, 2 e 3 (o meglio ancora una classe o un metodo apposito per fare questo), cioè le operazioni di I/O.
Direi che ora hai qualcosa su cui lavorare :D
Posta quello che fai se hai problemi su qualcosa
Io avevo inteso questo esercizio così:
Devo creare una classe che lavori dentro un programma a me non dato. Questa classe deve eseguire i 3 punti:
1-inserire da tastiera, in fondo all'elenco, una nuova pizza;
2-Stampare i dati della pizza più economica
3-Cancellare tutte le pizze con un certo ingrediente deciso dall'utente, le posizioni vuote devono venire occupate dall'ultima posizione nell'elenco.
Per fare questi tre punti c'è bisogno di 3 array, uno col nome della pizza (quindi di stringhe), uno col prezzo (quindi float) e il terzo che contenga gli ingredienti.
Come posso creare un array che contenga più parole in una cella? (Non abbiamo ancora fatto le matrici).
P.s. La funzione lenght restituisce la lunghezza dell'array che gli si da o il numero di celle piene dell'array?
Grazie davvero
clockover
26-02-2013, 16:13
Di ogni pizza sono presenti le seguenti informazioni: nome della pizza, descrizione pizza e prezzo.
Perchè non puoi crearti una classe del tipo
class Pizza{
nome;
descrizione;
prezzo;
public Pizza(){
}
ecc....
}
import java.util.Scanner;
public class Pizza {
string[] Anome;
Anome = new string[49];
float[] Acosto;
Acosto= new float[49];
//qua non so come creare un array che contenga più stringhe, ossia tutti gli ingredienti
Public /*qua dovrei mettere il valore restituito, giusto? ma cosa restituisce?*/ aggiungiPizza(){
// L'altro dubbio è: come faccio a cercare il primo spazio disponibile senza scritto nulla?
}
Public /*stesso dubbio di prima*/ pizzaEconomica(){
int a=900;
int b=0;
for (int i=0; i<=49; i++){
if Acosto[i]<a{
a=Acosto[i];
b=Acosto[i];
}
}
System.out.println("La pizza meno costosa e" + Apizza[b] + "col costo di" + Acosto[b] + "e gli ingredienti sono")
}
Aiutami a trovare gli errori e dammi qualche altra dritta... Grazie mille mila! :Prrr:
clockover
26-02-2013, 16:57
import java.util.Scanner;
public class Pizza {
string[] Anome;
Anome = new string[49];
float[] Acosto;
Acosto= new float[49];
//qua non so come creare un array che contenga più stringhe, ossia tutti gli ingredienti
Public /*qua dovrei mettere il valore restituito, giusto? ma cosa restituisce?*/ aggiungiPizza(){
// L'altro dubbio è: come faccio a cercare il primo spazio disponibile senza scritto nulla?
}
Public /*stesso dubbio di prima*/ pizzaEconomica(){
int a=900;
int b=0;
for (int i=0; i<=49; i++){
if Acosto[i]<a{
a=Acosto[i];
b=Acosto[i];
}
}
System.out.println("La pizza meno costosa e" + Apizza[b] + "col costo di" + Acosto[b] + "e gli ingredienti sono")
}
Aiutami a trovare gli errori e dammi qualche altra dritta... Grazie mille mila! :Prrr:
Innanzitutto indenta il codice in questo modo
import java.util.Scanner;
public class Pizza {
string[] Anome;
Anome = new string[49];
float[] Acosto;
Acosto = new float[49];
//qua non so come creare un array che contenga più stringhe, ossia tutti gli ingredienti
Public /*qua dovrei mettere il valore restituito, giusto? ma cosa restituisce?*/
aggiungiPizza() {
// L'altro dubbio è: come faccio a cercare il primo spazio disponibile senza scritto nulla?
}
Public /*stesso dubbio di prima*/
pizzaEconomica() {
int a = 900;
int b = 0;
for (int i = 0; i <= 49; i++) {
if Acosto[i] < a {
a = Acosto[i];
b = Acosto[i];
}
}
System.out.println("La pizza meno costosa e" + Apizza[b] + "col costo di" + Acosto[b] + "e gli ingredienti sono")
}
Secondo... non fare così.
La classe Pizza deve essere solo un contenitore di informazioni per il nome, il prezzo e la descrizione.
Una volta creta la classe Pizza ti crei la classe Menu, che conterrà la collezione di oggetti Pizza.
Avete fatto le liste? Ad esempio LinkedList?
Il codice era indentato, ma a copiarlo sul forum si è formattato... :cry:
Comunque non abbiamo fatto le liste, considera che java l'abbiamo (hanno xD) iniziato a settembre.
Abbiamo fatto giusto i cicli, gli array e poc'altro.
Quindi mi sembrava il miglior modo sviluppare il programma in quel modo. (Se è possibile scrivere una classe in quel modo xD)
clockover
26-02-2013, 17:07
Il codice era indentato, ma a copiarlo sul forum si è formattato... :cry:
Comunque non abbiamo fatto le liste, considera che java l'abbiamo (hanno xD) iniziato a settembre.
Abbiamo fatto giusto i cicli, gli array e poc'altro.
Quindi mi sembrava il miglior modo sviluppare il programma in quel modo. (Se è possibile scrivere una classe in quel modo xD)
devi usare il tag del forum CODE... comunque...
Puoi comunque usare gli array per fare quello che devi fare.
Creati una classe Pizza come ti ho detto io e postala. La classe Pizza come ti ho detto deve avere semplicemente i campi nome, prezzo e descrizione. Facciamo un pezzo per volta.
Ok, pezzo per volta ;)
Come creo la classe pizza come intendi te? =)
Questo es famolo insieme che da fare ne ho a bizzeffe...
Sto cercando più che altro uno schema da seguire per tutti :help:
Grazie millissimo! ;)
Edit: Stasera sono pure fuori a cena... (cena di bentornato) Uff
Mi puoi scrivere un abbozzo di quello che chiede, così quando torno lo guardo, ti lascio un post coi miei dubbi e domani provo a fare gli altri es con quel modello? :)
HoldenCaulfield1987
26-02-2013, 18:21
Sto cercando più che altro uno schema da seguire per tutti
Qui sbagli secondo me!
Programmare non è qualcosa di meccanico, non c'è uno schema che segui per tutti i programmi.
Se ti capiterà un programma completamente diverso non saprai dove mettere mano.
Ti consiglio di sbatterci la testa da solo, di provare a scrivere qualcosa e di postarlo.
clockover
26-02-2013, 19:04
Ok, pezzo per volta ;)
Come creo la classe pizza come intendi te? =)
Questo es famolo insieme che da fare ne ho a bizzeffe...
Sto cercando più che altro uno schema da seguire per tutti :help:
Grazie millissimo! ;)
Edit: Stasera sono pure fuori a cena... (cena di bentornato) Uff
Mi puoi scrivere un abbozzo di quello che chiede, così quando torno lo guardo, ti lascio un post coi miei dubbi e domani provo a fare gli altri es con quel modello? :)
Guarda quello che devi fare già te l'ho scritto. Ora comincia a lavorarci e se vuoi posta i tuoi progressi e ci lavoriamo insieme. Non sono esercizi per me, ma per te. Mi sono offerto di darti una mano e te la sto dando. Mostra la tua buona volontà
banryu79
27-02-2013, 08:54
@Loxlory.
Ciao. Parto dal presupposto che tu ti stia facendo guidare da clockover.
Ti ha suggerito di scomporre il problema in sotto-problemi più piccoli (e quindi in teoria più facili da risolvere singolarmente). Questo è un buon metodo per procedere.
Il primo compito/sottoproblema che ti ha chiesto di risolvere è quello di creare una classe Pizza. Perchè ha senso creare una classe Pizza? Basta analizzare il testo del problema. Ad un certo punto dice:
...Di ogni pizza sono presenti le seguenti informazioni: nome della pizza, descrizione pizza e prezzo...
Con solo questa frase, per me ha senso, per ora, individuare un oggetto/entità Pizza:
Pizza
+ nome
+ descrizione
+ prezzo
Tu dici: d'accordo, potrei rappresentare Pizza con una classe che ha tre membri; nome lo rappresento come una String, prezzo come un float ma descrizione?
Per sapere come è meglio rappresentare descrizione bisogna prima capire quale è il suo scopo; andando di nuovo ad analizzare il testo del problema possiamo notare come la parola descrizione non sia più nominata, se non che forse potrebbe avere a che fare con quanto espresso qui:
...3-Cancellare tutte le pizze con un certo ingrediente deciso dall'utente, le posizioni vuote devono venire occupate dall'ultima posizione nell'elenco....
Dato che qui parla di pizze, e abbiamo già visto cosa ci si aspetta che le pizze abbiano (nome, per idientificarle, prezzo per identificare la pizza più economica, come richiesto in un'altro punto del testo) restano fuori questo ingrediente e la descrizione di prima.
Ergo è probabile che descrizione, per i termini del problema datoci, non sia altro che una lista di ingredienti.
Se decidiamo di rappresentare un ingrediente con una String, possiamo allora rappresentare in Pizza la descrizione come un array di String.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.