Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di --LO--
    Registrato dal
    Dec 1999
    residenza
    San Michele All'Adige
    Messaggi
    249

    [Java]Metodo che non restituisce valore

    Probabilmente vi sembrerà una domanda stupida, ma capitemi, è tutto oggi che sto lavorando a questa cosa e mi sto perdendo in mezzo a tutte le righe di codice.

    Allora:
    io ho un file Record.java con il seguente codice:

    -------------------------------------------------------------
    package agenda;

    import java.io.Serializable;
    import java.util.*;

    public class Record implements java.io.Serializable, Comparable
    {
    private String data = "";
    private String ora = "";
    private String luogo = "";
    private String oggetto = "";
    private String note= "";

    /**
    * Costruttore di default
    */
    public Record()
    {
    }

    /**
    * Costruttore che conta i record nella collezione.
    * E' il primo record a essere scritto nel file di output
    */
    public Record (int lenght)
    {

    }

    public Record(String data)
    {
    this.data = data;
    }

    /**
    * Costruttore con data, ora, luogo, oggetto e note.
    */
    public Record(String data, String ora, String luogo, String oggetto, String note)
    {
    this.data = data;
    this.ora = ora;
    this.luogo = luogo;
    this.oggetto= oggetto;
    this.note = note;
    }


    public String get_info(int selection)
    {
    if (selection == 0)
    return this.data;

    if (selection == 1)
    return this.ora;

    if (selection == 2)
    return this.luogo;

    if (selection == 3)
    return this.oggetto;

    if (selection == 4)
    return this.note;
    }

    public void replace_info(String string, int selection)
    { if (selection == 0)
    this.data = string;
    if (selection == 1)
    this.ora = string;
    if (selection == 2)
    this.luogo = string;
    if (selection == 3)
    this.oggetto = string;
    if (selection == 4)
    this.note = string;
    }

    public String getData()
    {
    return this.data;
    }
    public String getOra()
    { return this.ora;
    }
    public String getLuogo()
    { return this.luogo;
    }
    public String getOggetto()
    { return this.oggetto;
    }
    public String getNote()
    { return this.note;
    }
    public void replaceData(String data)
    { this.data = data;
    }
    public void replaceOra(String ora)
    { this.ora = ora;
    }
    public void replaceLuogo(String luogo)
    { this.luogo = luogo;
    }
    public void replaceOggetto(String oggetto)
    { this.oggetto = oggetto;
    }
    public void replaceNote(String note)
    { this.note = note;
    }
    public String toString()
    { return this.data;
    }

    //Implementazione di Compare per l'ordinamento. (da correggere)


    public static int compare_data(Record rec1, Record rec2)
    { int lastComp = rec1.data.compareTo(rec2.data);
    return lastComp;
    }

    public static int compare_ora(Record rec1, Record rec2) {
    int lastComp = rec1.ora.compareTo(rec2.ora);
    return lastComp;
    }

    public static int compare_luogo(Record rec1, Record rec2)
    {
    int lastComp = rec1.luogo.compareTo(rec2.luogo);
    return lastComp;
    }

    public static int compare_oggetto(Record rec1, Record rec2) {
    int lastComp = rec1.oggetto.compareTo(rec2.oggetto);
    return lastComp;
    }

    public int compareTo(Object other)
    {
    return compare_oggetto(this, (Record) other);
    }


    }
    --------------------------------------------------------------
    Ora io ho un problema col metodo get_info che mi da errore. Il compilatore mi segnala che il metodo non restituisce un valore.
    Cosa può essere?
    :aiuto!:

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798

    Re: [Java]Metodo che non restituisce valore

    Originariamente inviato da --LO--
    public String get_info(int selection)
    {
    if (selection == 0)
    return this.data;

    if (selection == 1)
    return this.ora;

    if (selection == 2)
    return this.luogo;

    if (selection == 3)
    return this.oggetto;

    if (selection == 4)
    return this.note;
    }
    Il tuo metodo deve restituire un'oggetto String. Ma prova un po' ad immaginare cosa succede se gli passi un intero il cui valore è < 0 oppure > 4 ?
    Ecco perchè il compilatore ti segnale l'errore. Potresti aggiungere un ultima opzione in un blocco else oppure riscrivere il metodo.

    Ciao.
    Slack? Smack!

  3. #3
    Utente di HTML.it L'avatar di --LO--
    Registrato dal
    Dec 1999
    residenza
    San Michele All'Adige
    Messaggi
    249

    Re: Re: [Java]Metodo che non restituisce valore

    Originariamente inviato da Sergio Pedone
    Il tuo metodo deve restituire un'oggetto String. Ma prova un po' ad immaginare cosa succede se gli passi un intero il cui valore è < 0 oppure > 4 ?
    Ecco perchè il compilatore ti segnale l'errore. Potresti aggiungere un ultima opzione in un blocco else oppure riscrivere il metodo.

    Ciao.
    quale opzione?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    tanto per dirne una:
    codice:
    ...
    else {
      return "Errore";
    }
    ...
    Chiamando il metodo in questione, potresti verificare il valore dell'oggetto String restituito e fare le dovute scelte.
    Meglio ancora gestire l'eventualità di un errore lancianto un'eccezione.

    Secondo me. Ciao.
    Slack? Smack!

  5. #5
    Utente di HTML.it L'avatar di --LO--
    Registrato dal
    Dec 1999
    residenza
    San Michele All'Adige
    Messaggi
    249
    Originariamente inviato da Sergio Pedone
    tanto per dirne una:
    codice:
    ...
    else {
      return "Errore";
    }
    ...
    Chiamando il metodo in questione, potresti verificare il valore dell'oggetto String restituito e fare le dovute scelte.
    Meglio ancora gestire l'eventualità di un errore lancianto un'eccezione.

    Secondo me. Ciao.

    ci avevo già pensato

    sapete, a mente fresca...

    grazie mille comunque

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.