Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] Missing return statement

    Perchè mi dice che non c'è il return?? Non riesco a capire dove sta il problema!

    codice:
    //il metodo aggiunge il prodotto garantendo l'integrità e restituisce un
    //messaggio in Stringa a seconda delle situazioni
      public String setElementi(String pathXML, Prodotto prod){
        try {
          File xml = new File(pathXML);
          Element root;
          Document doc;
          String msg = "";
    
    //costruisco prodotto da inserire nel file XML
          Element prodotto = costruisciProdotto(prod.getImage(), prod.getMarca(),
                                                prod.getNome(),
                                                prod.getDescrizione(),
                                                prod.getPrezzoString(),
                                                prod.getQuantitaString(),
                                                prod.getID());
    
    //l'inserimento dipende dall'esistenza del file
          //se non esiste creo da 0
          if (!xml.exists()) {
            root = new Element("categorie");
            doc = new Document(root);
            root.addContent(prodotto);
            msg = "E' stata creata una nuova categoria";
          }
          //altrimenti occorre appendere il nuovo prodotto e controllare
          //se esiste già (metodo search) aggiungere soltanto la quantità
          else {
            SAXBuilder builder = new SAXBuilder();
            doc = builder.build(pathXML);
            root = doc.getRootElement();
            Element padre = search(root, prod.getMarca()+" "+ prod.getNome());
            if (padre != null) {
              int currentDisponibilita = Integer.parseInt(
                  padre.getAttributeValue("disponibilita"));
              int nuovaDisponibilita = currentDisponibilita + prod.getQuantita();
              padre.setAttribute("disponibilita", nuovaDisponibilita + "");
              msg = "Il prodotto era già presente nel catalogo. La nuova disponibilità è cambiata da " +
                  currentDisponibilita + " a " + nuovaDisponibilita;
            }
            else {
              root.addContent(prodotto);
              msg = "Il nuovo prodotto è stato inserito con successo";
            }
    
          }//else
    
          XMLOutputter outputter = new XMLOutputter();
          outputter.output(doc, new FileOutputStream(xml));
          return msg;
          
        }//try
        catch (JDOMException je) {
          System.out.println("Eccezione JDOM durante la lettura del documento XML");
        }//cath
        catch (IOException ie) {
          System.out.println("Eccezione di IO durante la lettura del documento XML");
        }//catch
        
      }//setElementi

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Metti return msg; come ultima istruzione (dopo il catch); per fare ciò devi anche dichairare msg al di fuori del try.

  3. #3
    Si infatti... che fagiano che sono
    Quando programmo per troppo tempo di seguito inizio a dare i numeri

    Ovviamente grazie!

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.