Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    JAVA: classe "Impiegati"... help!

    Salve a tutti!
    Dunque dunque.. Vorrei poter chiedere il vostro aiuto, sono alle prime armi con il JAVA e non ho la benché minima esperienza con nessun altro linguaggio di programmazione (HTML escluso, al limite).

    La domanda è questa (più che altro, la riporto testualmente da un libro ^^' ):


    Implementa una classe Employee (dipendente). Ciascun dipendente ha un nome (di tipo Stringa) e uno stipendio (di tipo double). Scrivi un costruttore senza parametri, un costruttorecon due parametri (nome e stipendio), e i metodi per reperire nome e stipendio. Scrivi un breve programma per collaudare la classe.
    Ora... io utilizzo come ambiente di sviluppo BlueJ (conoscete?), quindi in effetti non avrei nemmeno bisogno di creare una classe di collaudo perché il programma stesso mi permette di creare gli oggetti e di applicare i metodi in modo molto intuitivo, rapido e chiaro. Il problema è che... non riesco a sviluppare il testo dell'esercizio! Finora questo è tutto ciò che ho scritto...

    /** Un'impresa tiene generalmente nota dell'elenco dei suoi dipendenti.*/
    public class Impiegati
    {


    /** Un'impresa che ha dipendenti ne inserisce i nomi e l'ammontare dello stipendio in un registro. */
    public Impiegati(String aName, double anAmmontare)
    {
    name = aName;
    ammontare = anAmmontare;
    }



    /** Tramite questo metodo, possiamo venire a conoscenza del NOME dei dipendenti.
    * @param aNome Permette di estrapolare il nome dalla lista. */
    public String fornisciNome()
    {
    String message = "Salve! Lei ha richiesto informazioni in merito al nostro dipendente " + name + ".";
    return message;
    }



    /** Tramite questo metodo, possiamo venire a conoscenza dello STIPENDIO dei dipendenti.
    * @param anAmmontare Permette di estrapolare il nome dalla lista. */
    public String fornisciStipendio()
    {
    String message = "Stipendio mensile: " + ammontare + ". Arrivederci!";
    return message;
    }



    private String name;
    private double ammontare;
    }
    ... spero non si sia perso nulla per via degli smiles..! La classe di collaudo, invece, è questa:

    / public class ImpiegatiTest
    {
    public static void main(String[] args)
    {
    Impiegati dipeUNO = new Impiegati("Francesco Picchioni", 5000);
    System.out.println(dipeUNO.fornisciNome());
    System.out.println(dipeUNO.fornisciStipendio());

    Impiegati dipeDUE = new Impiegati("Maddalena Badescu", 3000);
    System.out.println(dipeDUE.fornisciNome());
    System.out.println(dipeDUE.fornisciStipendio());

    Impiegati dipeTRE = new Impiegati("Michele Del Valle", 1000);
    System.out.println(dipeTRE.fornisciNome());
    System.out.println(dipeTRE.fornisciStipendio());
    }
    }
    Escludendo per un momento dall'analisi la classe di collaudo, se provo la prima tramite BlueJ e credo quello che mi pare sia il costruttore, questi mi richiede di inserire il nome del dipendente e l'ammontare dello stipendio, per poter creare l'oggetto... Ora: non è un controsenso? Teoricamente io non dovrei lasciare che sia il programma -stando al testo dell'esercizio- a fornirmi questi due dati per mezzo dei metodi? O non ho capito bene io cosa chiede?
    Cosa non va nel mio programma, accidenti??

    Altra domanda... non capisco ancora molto bene il significato della prima parte del codice (quella che conserva le... variabili istanza? Beh sì insomma: la porzione di codice dove compaiono aName, anAmmontare, ecc... Io le ho create, ma credo di averlo fatto più meccanicamente che non altro... Uff

    C'è qualcuno che può darmi una mano, gentilissimamente? T_T Sono disperata...!

    Grazie di cuore in anticipo!
    I'm going under (going under)
    Drowning in you (drowning in you)
    I'm falling forever (falling forever)
    I've got to break through
    I'm going under

    { GOING UNDER - Evanescence }

  2. #2
    La prima parte del codice e' il costruttore!!!
    Assegna i valori che riceve in ingresso alle variabili membro dell'oggetto che sta costruendo.
    Lo so che e' ovvio che questo vada fatto, ma da qualche parte devi pur specifarlo, no?

  3. #3
    Teoricamente io non dovrei lasciare che sia il programma -stando al testo dell'esercizio- a fornirmi questi due dati per mezzo dei metodi? O non ho capito bene io cosa chiede?
    Fai confusione: l'oggetto fornisce i metodi per ottenere i dati di cui hai bisogno. Il programma principale utilizza quei metodi per visualizzare a video quelle informazioni.

    Se non li inserisci tu nell'oggetto, il nome e lo stipendio, l'ambiente, per quanto evoluto possa essere, non se li puo' mica inventare?

  4. #4
    Uhm... ok, penso di aver capito ma... La domanda è a questo punto: in che modo lo scrivo?
    I'm going under (going under)
    Drowning in you (drowning in you)
    I'm falling forever (falling forever)
    I've got to break through
    I'm going under

    { GOING UNDER - Evanescence }

  5. #5
    Cosi':

    codice:
    Impiegati dipeUNO = new Impiegati("Francesco Picchioni", 5000);
    Ti conviene lasciar perdere tutte le funzioni avanzate che ti mette a disposizione l'ambiente, fino a quando non hai capito il meccanismo che sta dietro la programmazione ad oggetti.

  6. #6
    Scusa la domanda, Dekdek ma... quella porzione di codice l'ho già scritta nella classe di collaudo O.O Ho sbagliato io a metterla lì? (e comunque intanto ti ringrazio per l'aiuto che mi stai dando! )
    I'm going under (going under)
    Drowning in you (drowning in you)
    I'm falling forever (falling forever)
    I've got to break through
    I'm going under

    { GOING UNDER - Evanescence }

  7. #7
    Infatti da li' l'ho copiata, e li' deve stare.

    Ti suggerivo, appunto, di scrivere delle classi di test ed usare quelle per capire come funziona il tutto, piuttosto che usare le funzionalita' dell'ambiente.
    Queste ti nascondono parte della complessita' (svolgendo in automatico alcune operazioni che normalmente dovresti fare tu) il che non ti consente di comprendere in pieno quello che sta succedendo... e a volte anche quello che stai facendo!

    Curiosita': stai usando il Deitel&Deitel?

  8. #8
    Ah... capito!
    Beh, io uso BlueJ e devo dire che mi ci trovo bene. Deitel&Deitel è un altro ambiente di sviluppo? Ad ogni modo, BlueJ mi permette sì di saltare molti passaggi, ma per l'appunto mi consente anche di creare classi di prova quindi non sono vincolata, per fortuna Il problema, per l'appunto, è che se io testo la classe madre tramite la classe di prova, quello che mi compare a schermo poi è l'immagine dell'allegato (chiedo perdono per la qualità ^^" )... Quindi la classe, in morale, è esatta (e risponde quindi all'esercizio) o sbaglio qualcosa?
    Immagini allegate Immagini allegate
    I'm going under (going under)
    Drowning in you (drowning in you)
    I'm falling forever (falling forever)
    I've got to break through
    I'm going under

    { GOING UNDER - Evanescence }

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da Rei-chan
    Ah... capito!
    Beh, io uso BlueJ e devo dire che mi ci trovo bene. Deitel&Deitel è un altro ambiente di sviluppo? Ad ogni modo, BlueJ mi permette sì di saltare molti passaggi, ma per l'appunto mi consente anche di creare classi di prova quindi non sono vincolata, per fortuna Il problema, per l'appunto, è che se io testo la classe madre tramite la classe di prova, quello che mi compare a schermo poi è l'immagine dell'allegato (chiedo perdono per la qualità ^^" )... Quindi la classe, in morale, è esatta (e risponde quindi all'esercizio) o sbaglio qualcosa?
    La classe è esatta.
    Deitel&Deitel sono gli autori di un libro su Java.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Ah, allora no: l'autore del libro che ho io è un tale che si chiama Cay S. Horstmann ("Concetti di Informatica e fondamenti di JAVA 2", è il titolo del libro).
    Ok, meno male comunque che la classe è esatta. Non sono poi così rimba dopo tutto!
    Grazie infinite per l'aiuto! Ma attenzione: potrei tornare a colpire..! :P
    I'm going under (going under)
    Drowning in you (drowning in you)
    I'm falling forever (falling forever)
    I've got to break through
    I'm going under

    { GOING UNDER - Evanescence }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.