|
Strong |
.consigliere.
Registered: Dec 2007
Posts: 138 (0.02 al dì)
Location: Bergamo
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 9:25:25 [...]
Status: Offline
Edit | Report | IP: Logged |
Aiuto Esercizio!
Vi chiedo un'info su una tipologia che mette sempre delle prove scritte. Faccio riferimento a un esercizio, esattamente al 7 e all'8 della prova del 26 febbraio 2010.
Allora, ecco le classi che ho sviluppato (simili se non identiche alla correzione)
PHP:
public class Corso implements Comparable{
private String nome, docente;
private int crediti;
public Corso(String nm, String cgm, int cfu){
nome = nm;
docente = cgm;
crediti = cfu;
}
public Corso(String nm, String cgm){
this(nm, cgm, 6);
}
public String getNome(){
return nome;
}
public String getTitolare(){
return docente;
}
public int getCrediti(){
return crediti;
}
public String toString(){
return nome + " " + docente + " " + crediti;
}
public boolean haCreditiMaggiori(Corso c){
return docente.equals(c.docente) && crediti > c.crediti;
}
public int compareTo(Object o){
Corso c = (Corso) o;
if(getCrediti() > c.getCrediti())
return 1;
else
if(getCrediti() < c.getCrediti())
return -1;
else
return 0;
}
}
PHP:
class CorsoLab extends Corso{
private String laboratorio;
public CorsoLab(String nm, String cgm, int cfu, String lab){
super(nm, cgm, cfu);
laboratorio = lab;
}
public String getLab(){
return laboratorio;
}
public String toString(){
return super.toString() + " " + laboratorio;
}
}
ed ecco il programma:
PHP:
import prog.io.*;
import prog.utili.*;
class CorsoProg{
public static void main(String[] args){
ConsoleInputManager in = new ConsoleInputManager();
ConsoleOutputManager out = new ConsoleOutputManager();
int n = in.readInt("Quanti corsi?");
Corso[] corsi = new Corso[n];
for(int i=0; i<n; i++){
String nome = in.readLine("Nome del corso " + (i+1) + ": ");
String docente = in.readLine("Nome del titolare del corso " + (i+1) + ": ");
int crediti = in.readInt("Numero di crediti del corso " + (i+1) + ": ");
boolean s = in.readSiNo("E' un corso di laboratorio? (s/n) ");
if (!s)
corsi[i] = new Corso(nome, docente, crediti);
else{
String lab = in.readLine("Nome del laboratorio in cui si tiene il corso " + (i+1) + ": ");
corsi[i] = new CorsoLab(nome, docente, crediti, lab);
}
}
for(int i=0; i<n; i++){
if(corsi[i].getTitolare().equals("Rossi"))
out.println(corsi[i].toString());
}
GestioneArray.ordina(corsi);
for(int i=0; i<n; i++){
if(corsi[i] instanceof CorsoLab)
out.println(corsi[i].toString());
}
}
}
Se compilo il programma mi da questo errore:
PHP:
Note: CorsoProg.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Lo ricompilo con javac CorsoProg.java -Xlint ed esce questo avviso:
PHP:
CorsoProg.java:31: warning: [unchecked] unchecked method invocation: <T>ordina(T[]) in prog.utili.GestioneArray is applied to (Corso[])
GestioneArray.ordina(corsi);
^
1 warning
Scusate l'eccessiva lunghezza del post. Forse lo ha detto a lezione, non riesco a risolvere. Il programma è esatto, solo che non lo compila.
|