Ciao a tutti..
premetto che uso NetBeans IDE 5.5 .
devo fare un programma che in un ArrayList registri giorno per giorno le assenze degli alunni della classe.Alla fine,usando un HashMap,totalizare le ore di assenza,poi stampare il tutto.
Con qualche aiuto l'ho fatto,ma non ho capito alcune cose,ora elenco il codice..
Questa è la classe Alunno:
potreste spiegarmi il metodo set presente qua sopra??codice:public class Alunno { private String cognome; private String nome; private int oreA; public Alunno(String cognome,String nome,int oreA) { this.cognome=cognome; this.nome=nome; this.oreA=oreA; } public String getCognome(){ return cognome; } public String getNome(){ return nome; } public int getOreA(){ return oreA; } public void setOreA(int x){ oreA=x; } public String toString(){ return "Cognome: "+cognome+"Nome: "+nome+"Ore di assenza: "+oreA; } }
il main:
potreste spiegami cosa avviene nell'if??(anche nell'else)..grazie a chiunque abbia così tanta pazienza da rispondermi..codice:public static void main(String[] args) { ArrayList <Alunno> la = new ArrayList <Alunno>(); HashMap<String,Alunno> ha= new HashMap<String,Alunno>(); for (int i = 0; i < 10; i++) { String cognome=JOptionPane.showInputDialog("Inserisci il cognome"); String nome=JOptionPane.showInputDialog("Inserisci il nome"); int oreA=Integer.parseInt(JOptionPane.showInputDialog("Inserisci le ore di assenza")); Alunno nuovoAlunno=new Alunno(cognome,nome,oreA); la.add(nuovoAlunno); } Alunno alunnoUno;Alunno alunnoDue; for (int i = 0; i < la.size(); i++) { alunnoUno=la.get(i); String chiave=alunnoUno.getCognome()+alunnoUno.getNome(); if(ha.containsKey(chiave)){ alunnoDue=ha.get(chiave); int y=alunnoDue.getOreA()+alunnoUno.getOreA(); alunnoDue.setOreA(y); ha.put(chiave); } else{ ha.put(chiave); } } Iterator ite=ha.keySet().iterator(); while(ite.hasNext()){ String k=(String)ite.next(); Alunno alunnoUno = ha.get(k); System.out.println(alunnoUno); } } } }

Rispondi quotando