Ciao SasukeUchiha,
innanzitutto scrivi un breve riassunto di cosa hai imparato fino al giorno d'oggi in Java in modo da vedere con quali strumenti potresti lavorare.
Poi incolla anche il codice di ciò che hai provato a fare finora.
Come primo semplice approccio che mi viene in mente, potresti crearti un array di 12 "Mesi" ovvero una classe che crei tu che contenga i campi "nome" e "giorni" e che contenga i metodi leggiNome() e leggiGiorni().
Cordiali saluti,
Misterioso
per ora in java ho fatto il seguente esercizio:
Classe 1:
public class BevoSettimana
{
private static final int NUMGIORNISETTIMANA = 7;
private int lunedi;
private int martedi;
private int mercoledi;
private int giovedi;
private int venerdi;
private int sabato;
private int domenica;
private int totale;
/*----------------------------------------------------------------------------*/
/* da qui iniziano le funzioni/procedure pubbliche */
public BevoSettimana()
{
this.lunedi=0;
this.martedi = 0;
this.mercoledi = 0 ;
this.giovedi = 0;
this.venerdi = 0 ;
this.sabato = 0;
this.domenica = 0 ;
}
//get ritorna alla variabile(per forza funzione), set la imposta (valorizza contenuto variabile)(procedure),funzione e procedura sono blocchi di codice che puoi riutilizzare a tuo piacimento all interno programma, funzione ritorna valore, procedura no
public int getLunedi() // parentisi vuote nessun valore,o uno o piu parametri (variabili) void funzione e procedura non ritorna niente
{
return this.lunedi;
}
public void setLunedi(int lunedi09) // parametro e un valore che passi alla funzione o alla procedura (puo essere piu di uno)
{
this.lunedi = lunedi09;
}
public int getMartedi()
{
return this.martedi;
}
public void setMartedi(int martedi)
{
this.martedi = martedi;
}
public int getMercoledi()
{
return this.mercoledi;
}
public void setMercoledi(int mercoledi)
{
this.mercoledi = mercoledi;
}
public int getGiovedi()
{
return this.giovedi;
}
public void setGiovedi(int giovedi)
{
this.giovedi = giovedi;
}
public int getVenerdi()
{
return this.venerdi;
}
public void setVenerdi(int venerdi)
{
this.venerdi = venerdi;
}
public int getSabato()
{
return this.sabato;
}
public void setSabato(int sabato)
{
this.sabato = sabato;
}
public int getDomenica()
{
return this.domenica;
}
public void setDomenica(int domenica)
{
this.domenica = domenica;
}
public int getTotale()
{
this.SommaTotale();
return this.totale;
}
public int getNumGiorni()
{
return NUMGIORNISETTIMANA;
}
/*----------------------------------------------------------------------------*/
/* da qui iniziano le funzioni/procedure private */
private void SommaTotale()
{
this.totale = this.lunedi+this.martedi+this.mercoledi+this.giovedi+this.venerdi+this.sabato+this.domenica;
}
}
CLASSE 2
public class BevoSettimanaMigliorata
{
private static final int NUMGIORNISETTIMANA = 7;
private int lunedi;
private int martedi;
private int mercoledi;
private int giovedi;
private int venerdi;
private int sabato;
private int domenica;
/*----------------------------------------------------------------------------*/
/* da qui iniziano le funzioni/procedure pubbliche */
public BevoSettimanaMigliorata()
{
this.lunedi=0;
this.martedi = 0;
this.mercoledi = 0 ;
this.giovedi = 0;
this.venerdi = 0 ;
this.sabato = 0;
this.domenica = 0 ;
}
//get ritorna alla variabile(per forza funzione), set la imposta (valorizza contenuto variabile)(procedure),funzione e procedura sono blocchi di codice che puoi riutilizzare a tuo piacimento all interno programma, funzione ritorna valore, procedura no
public int getLunedi() // parentisi vuote nessun valore,o uno o piu parametri (variabili) void funzione e procedura non ritorna niente
{
return this.lunedi;
}
public void setLunedi(int lunedi09) // parametro e un valore che passi alla funzione o alla procedura (puo essere piu di uno)
{
this.lunedi = lunedi09;
}
public int getMartedi()
{
return this.martedi;
}
public void setMartedi(int martedi)
{
this.martedi = martedi;
}
public int getMercoledi()
{
return this.mercoledi;
}
public void setMercoledi(int mercoledi)
{
this.mercoledi = mercoledi;
}
public int getGiovedi()
{
return this.giovedi;
}
public void setGiovedi(int giovedi)
{
this.giovedi = giovedi;
}
public int getVenerdi()
{
return this.venerdi;
}
public void setVenerdi(int venerdi)
{
this.venerdi = venerdi;
}
public int getSabato()
{
return this.sabato;
}
public void setSabato(int sabato)
{
this.sabato = sabato;
}
public int getDomenica()
{
return this.domenica;
}
public void setDomenica(int domenica)
{
this.domenica = domenica;
}
public int getTotale()
{
return this.SommaTotale();
}
public int getNumGiorni()
{
return NUMGIORNISETTIMANA;
}
public void StampaAVideo()
{
System.out.println("-----------------------------------------------");
System.out.println("Nei "+ this.getNumGiorni() + " giorni della settimana ho bevuto: "+ this.getTotale()+" volte");
System.out.println("Lunedi ho bevuto: "+ this.getLunedi() + " volte;" + " Martedi: "+ this.getMartedi()+" volte; " + "Mercoledi: "+ this.getMercoledi() + " volte; " + " Giovedi: "+ this.getGiovedi()+" volte; "+"Venerdi: "+ this.getVenerdi() + " volte; " + " Sabato: "+ this.getSabato()+" volte; " + "Domenica: "+ this.getDomenica()+ " volte.");
System.out.println("-----------------------------------------------");
}
public String StampaMessaggio()
{
return "ciao";
}
//if creo una funzione che poi richiamero dal main per stamparla a video,poi creo int totMomentoAttuale, la stringa ret,metto ret vuota,totale momento attuale lo metto uguale al totale che mi viene fuori, poi tramite if analizzo a seconda del totale che ottengo
public String StampaMessaggioConIf()
{
int TotAlMomentoAttuale;
String ret;
ret="";
TotAlMomentoAttuale=this.getTotale();
if(TotAlMomentoAttuale>20)
{
ret="OOOOK";
}else if (TotAlMomentoAttuale<20)
{
ret="KOOO";
}else if (TotAlMomentoAttuale==20)
{
ret="NEUTRO";
}
return ret;
}
// in questo caso do il valore alle variabili locali e poi tramite switch analizzo diversi casi,se lo trovo grazie alla clausola break mi fermo,altrimenti continuo fino al default che mi da il messaggio che nn ha trovato caso
public String StampaMessaggioSwitch()
{
int TotAlMomentoAttuale;
String ret;
ret="";
TotAlMomentoAttuale=this.getTotale();
switch (TotAlMomentoAttuale)
{
case 19: ret="HO BEVUTO 19 VOLTE";break;
case 20: ret="HO BEVUTO 20 VOLTE";break;
case 21: ret="HO BEVUTO 21 VOLTE";break;
default: ret="NON ROMPERE IL pazzo NON TE NE FREGA!!! " + TotAlMomentoAttuale;
}
return ret;
}
/*----------------------------------------------------------------------------*/
/* da qui iniziano le funzioni/procedure private */
private int SommaTotale()
{
//variabile locale è una variabile che utilizzo all interno di un metodo (variabile o procedura) e la utilizzo solamente quando mi serve, mentre globale la utilizzo dalla creazione della classe ma questo mi occupa spazio
int totale;
totale = this.lunedi+this.martedi+this.mercoledi+this.giovedi+this.venerdi+this.sabato+this.domenica;
return totale;
}
}
CLASSE 3
public class BevoSettimanaArray {
/*
* 0 = Lunedi
* 1 = martedi
* 2 = mercoledi
* 3 = giovedi
* 4 = venerdi
* 5 = sabato
* 6 = domenica
* */
//ho creato un array o vettore intero e lo valorizzato a 7 (in questo caso giorni settimana)
int[] GiorniSettimana = new int[7];
public BevoSettimanaArray()
{
this.Init();
}
public void setGiorno(int NumGiorno, int NumBevute)
{
this.GiorniSettimana[NumGiorno]=NumBevute;
}
public int getGiorno(int NumGiorno)
{
return this.GiorniSettimana[NumGiorno];
}
public int getTotale()
{
int ret;
int i;
ret=0;
for(i=0;i<7;i++)
{
ret += this.GiorniSettimana
;
}
return ret;
}
public void StampaGetTotale()
{
System.out.println("Stampo Totale Array da dentro la funzione apposita per la stampa --> " + this.getTotale());
}
private void Init()
{
int i;
for(i=0;i<7;i++)
{
this.GiorniSettimana=0;
}
}
}
CLASSE MAIN
public class ClassMain
{
public static void main(String[] args)
{
BevoSettimana numeroVolteBevo = new BevoSettimana();
numeroVolteBevo.setLunedi(3);
numeroVolteBevo.setMartedi(2);
numeroVolteBevo.setSabato(8);
System.out.println("Nei "+ numeroVolteBevo.getNumGiorni() + " giorni della settimana ho bevuto: "+ numeroVolteBevo.getTotale()+" volte");
System.out.println("Lunedi ho bevuto: "+ numeroVolteBevo.getLunedi() + " volte;" + " Martedi: "+ numeroVolteBevo.getMartedi()+" volte; " + "Mercoledi: "+ numeroVolteBevo.getMercoledi() + " volte; " + " Giovedi: "+ numeroVolteBevo.getGiovedi()+" volte; "+"Venerdi: "+ numeroVolteBevo.getVenerdi() + " volte; " + " Sabato: "+ numeroVolteBevo.getSabato()+" volte; " + "Domenica: "+ numeroVolteBevo.getDomenica()+ " volte.");
BevoSettimanaMigliorata numeroVolteBevoMigliorato = new BevoSettimanaMigliorata();
numeroVolteBevoMigliorato.setLunedi(3);
numeroVolteBevoMigliorato.setMartedi(2);
numeroVolteBevoMigliorato.setSabato(8);
numeroVolteBevoMigliorato.StampaAVideo();
System.out.println(numeroVolteBevoMigliorato.StampaMessaggio());
numeroVolteBevoMigliorato.setLunedi(10);
System.out.println(numeroVolteBevoMigliorato.StampaMessaggioConIf());
System.out.println(numeroVolteBevoMigliorato.StampaMessaggioSwitch());
//compito: imparare sintassi lettura valore tastiera
System.out.println("--------------------------------------");
BevoSettimanaArray numBevute = new BevoSettimanaArray();
numBevute.setGiorno(0, 5);
numBevute.setGiorno(1, 0);
numBevute.setGiorno(2, 1);
numBevute.setGiorno(3, 2);
numBevute.setGiorno(4, 0);
numBevute.setGiorno(5, 0);
numBevute.setGiorno(6, 1);
System.out.println("Stampo dalla funzione getTotale: " + numBevute.getTotale());
numBevute.StampaGetTotale();
System.out.println("--------------------------------------");
}
}