Vous êtes sur la page 1sur 5

da array a lista: List<Persona> l = Arrays.

asList(elencoPersone);

da lista ad array: metodo toArray dell'interfaccia List


Persona[] array = listaPersone.toArray(new Persona[0]);

ESEMPIO DI ECCEZIONI

try{
SegnoZodiacale.valueOf(nomeSegnoZodiacale);

} catch (IllegalArgumentException e){

throw new IllegalArgumentException("Segno non valido");

Media arrotondata allintero pi vicino


public int getFortuna() {
long val = Math.round((amore.getValore() + lavoro.getValore() +
salute.getValore()) / 3.0);
return (int) val;
}

public int compareTo(OroscopoMensile o) {


// TODO Auto-generated method stub

return getSegno().compareTo(o.getSegno());

la media, risultato deve essere arrotondato alla seconda cifra decimale. Nel
caso in cui la media non sia calcolabile (assenza di esami superati), restituisce 0
public double getMediaPesata() {
List<Esame> superati = getEsamiSuperati();
if (superati.size() == 0) {
return 0;
}
//
float media = 0;
for (Esame e : superati){
media += e.getValoreVoto() * e.getInsegnamento().getCfu();
}
return Math. rint(100*media/getCreditiAcquisiti())/100;
}

valueOf restituisce il valore dellenumerativo


try{
SegnoZodiacale.valueOf(nomeSegnoZodiacale);

} catch (IllegalArgumentException e){

throw new IllegalArgumentException("Segno non valido");

try {
matricolaAsLong = Long.parseLong(matricola);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("matricola", e);
}

To sring
public String toString() {
char[] trentaSpazi = new char[30];
Arrays.fill(trentaSpazi, ' ');
String nomeConSpazi = (nome + new String(trentaSpazi)).substring(0, 30);
return codice + "\t" + nomeConSpazi + "\t(" + ssd + ")\tCFU:" + cfu
+ "\tCiclo: " + semestre + "\tTipologia: " + categoria;
}

public String toString() {


DateFormat formatter = DateFormat.getDateInstance(DateFormat.SHORT);
return insegnamento.getNome() + "\t\t Voto: " + getVoto() + "\t Data: " +
formatter.format(data);
}
compareTo che ordina gli oroscopi seguendo lordine dellenumerativo SegnoZodiacale;

public int compareTo(Oroscopo that) {


int z1 = this.getSegnoZodiacale().ordinal(), z2 = that
.getSegnoZodiacale().ordinal();
return z1 < z2 ? -1 : (z1 == z2 ? 0 : 1);
}

formatter = DateFormat.getDateInstance(DateFormat.SHORT);

public void sostituisciInsegnamento(Insegnamento corrente,


Insegnamento futuro) throws IllegalArgumentException {
if (!getInsegnamenti().contains(corrente))
throw new IllegalArgumentException(
"Insegnamento da sostituire non presente nel piano di
studi");
if (getInsegnamenti().contains(futuro))
throw new IllegalArgumentException(
"Insegnamento da inserire gi presente nel piano di
studi");
if (corrente.getCategoria() == Categoria.OBBLIGATORIO)
throw new IllegalArgumentException(
"Un insegnamento obbligatorio non pu essere
sostituito");
if (corrente.getCfu() != futuro.getCfu())
throw new IllegalArgumentException(
"L'insegnamento da sostituire deve avere egual numero di
crediti");
if (futuro.getCategoria() == Categoria.OBBLIGATORIO)
throw new IllegalArgumentException(
"L'insegnamento con cui sostituire deve essere a
scelta");

getInsegnamenti().remove(corrente);
getInsegnamenti().add(futuro);
}
}

private Map<Long, List<Esame>> esami;

this.esami = new TreeMap<Long, List<Esame>>();

java.time
concetti relativi
LocalDate: una data relativa (giorno/mese/anno)
LocalTime: un orario relativo (ore/minuti/secondi)
LocalDateTime: una data + orario relativi
Period: una durata relativa (misurata in giorni, mesi, anni, etc)
concetti assoluti
Instant: un punto sulla linea del tempo espresso in nanosecondi
Duration: una durata in (nano)secondi fra due istanti di tempo
OffsetDateTime: una data assoluta sulla linea del tempo
espressa come data + orario + delta rispetto a Greenwich (UTC)
ZonedDateTime: una data assoluta sulla linea del tempo
espressa come data + orario + fuso orario (es. CET, GMT-5, ecc.)

verificare se un anno bisestile (isLeapYear)

Formattazione di numeri
NumberFormat formattatore = NumberFormat.getNumberInstance();
formattatore = NumberFormat.getNumberInstance(Locale.CANADA);
System.out.println( formattatore.format(z) ); // 13,456.78

Formattazione di valute
x = 1243.5678;
NumberFormat formattatoreEUR = NumberFormat.getCurrencyInstance();
System.out.println(formattatoreEUR.format(x)); // 1.243,57

NumberFormat formattatoreGBP = NumberFormat.getCurrencyInstance(Locale.UK);


System.out.println(formattatoreGBP.format(x)); // 1,243.57

NumberFormat: si chiede
al formattatore di formattare un numero
myNumberFormat.format()
al formattatore di trasformare una stringa in numero
myNumberFormat.parse()
DateTimeFormatter: si chiede
alla grandezza di formattarsi usando il formattatore specificato
myLocalDateTime.format(myDateTimeFormatter)
alla classe della grandezza (metodo statico factory) di trasformare
una stringa in un valore "del tipo giusto"
LocalDateTime.parse(myDateTimeFormatter)

Vous aimerez peut-être aussi