Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Fondamenti di architettura e programmazione
 
Aiuto Esercizio!
Clicca QUI per vedere il messaggio nel forum
Strong
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() + &quot; &quot; + 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(&quot;Quanti corsi?&quot;);
    Corso[] corsi = new Corso[n];

    for(int i=0; i<n; i++){
        String nome = in.readLine(&quot;Nome del corso &quot; + (i+1) + &quot;: &quot;);
        String docente = in.readLine(&quot;Nome del titolare del corso &quot; + (i+1) + &quot;: &quot;);
        int crediti = in.readInt(&quot;Numero di crediti del corso &quot; + (i+1) + &quot;: &quot;);
        boolean s = in.readSiNo(&quot;E' un corso di laboratorio? (s/n) &quot;);
        if (!s)
             corsi[i] = new Corso(nome, docente, crediti);
        else{
            String lab = in.readLine(&quot;Nome del laboratorio in cui si tiene il corso &quot; + (i+1) + &quot;: &quot;);
            corsi[i] = new CorsoLab(nome, docente, crediti, lab);
        }
    }

    for(int i=0; i<n; i++){
        if(corsi[i].getTitolare().equals(&quot;Rossi&quot;))
            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.

Strong
Volendo posso risolvere in questo modo:

PHP:

for(int i=0; i<30; i++){
        for(int j=0; j<n; j++){
            if(corsi[j] instanceof CorsoLab){
                if(corsi[j].getCrediti() == i)
                    out.println(corsi[j].toString());
            }
        }
    }



senza utilizzare le interfacce. La mia domanda cmq rimane :)

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate