Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [Java] Errore else if

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    51

    [Java] Errore else if

    Ciao a tutti non riesco a capire come mai mi dia l'errore alla prima else if...mi dice 'else' without 'if'


    codice:
    if(annoguastopc.getSelectedIndex()>annointerventopc.getSelectedIndex())
            else if (meseguastopc.getSelectedIndex()>meseinterventopc.getSelectedIndex())
            else if (giornoguastopc.getSelectedIndex()>giornointerventopc.getSelectedIndex()){
            JOptionPane.showMessageDialog(frame,"Non è possibile che l'intervento sia fatto prima che accada il guasto","Errore",JOptionPane.ERROR_MESSAGE);
          return;    
            }
    Ne approfitto anche per chiedere, se in una label vuota volessi visualizzare un numero che carico da un file di testo qual'è il metodo della label per ricevere qualcosa???in questo caso una linea di file di testo???
    Penso sia uguale se volessi visualizzare una qualsiasi stringa...GRAZIE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Forse non ti è chiaro come funziona l'istruzione if:
    codice:
    if ( condizione ) {
       ... // Se vera
    } else {
       ... // se falsa
    }
    La "else if" è sostanzialmente l'annidamento di una istruzione if all'interno del ramo else di quella più esterna:
    codice:
    if ( condizione1 ) {
       ... // Se vera
    } else {
       if ( condizione2 ) {
          ... // Se falsa condizione1 e vera condizione2
       } else {
          if ( condizione3 ) {
             ... // Se falsa condizione1 e falsa condizione2 e vera condizione3
          }
       }
    }
    Le parentesi graffe non sono necessare se e solo se l'istruzione da eseguire è atomica (ovvero, una sola riga di istruzione).

    Quello che hai scritto tu non ha molto senso visto che dopo il test di una condizione il compilatore si aspetta una istruzione e tu gli dici di eseguire una else... ma una else prevede prima una if che non c'è... tradotto, quello che hai scritto tu (con le opportune graffe) è questo:
    codice:
    if(annoguastopc.getSelectedIndex()>annointerventopc.getSelectedIndex()) {
    
       else if (meseguastopc.getSelectedIndex()>meseinterventopc.getSelectedIndex()) {
    
          else if (giornoguastopc.getSelectedIndex()>giornointerventopc.getSelectedIndex()){
    
             JOptionPane.showMessageDialog(frame,"Non è possibile che l'intervento sia fatto prima che accada il guasto","Errore",JOptionPane.ERROR_MESSAGE);
             return;    
            }
    che come puoi ben vedere non ha alcun senso...


    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

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 © 2025 vBulletin Solutions, Inc. All rights reserved.