Visualizzazione dei risultati da 1 a 2 su 2

Discussione: java if annidati

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

    java if annidati

    Ciao a tutti ho un problemino con il seguente listato java
    (mia versione jdk1.1.7):

    .......
    .......

    public String GetVocali(String Stringa) {
    for (i = 0; i < Stringa.length(); i++)
    if (consonanti.indexOf(Stringa.substring(i, i + 1)) == -1 && Stringa.substring(i, i + 1) != " ")
    voc += Stringa.substring(i, i + 1);
    return voc;
    }

    public String CalcolaCognome(String Cognome) {
    code = GetConsonanti(Cognome);
    if (code.length() >= 3)
    code = code.substring(0, 3);
    else
    {
    code += GetVocali(Cognome).substring(0, 3 - code.length());
    if (code.length() < 3)
    for (i = code.length(); i < 3; i++)
    code += "X";
    }
    return code;
    }

    }

    Quest'ultima è la parte incriminata:
    if (code.length() < 3)
    for (i = code.length(); i < 3; i++)
    code += "X";
    non viene eseguita come se l'if fosse un errore li dentro
    (in effetti se levo l'if e il for la stringa code viene correttamente aggiornata).
    Poichè sono un tuttofare nel senso che programmicchio in tanti linguaggi ma in nessuno sono davvero forte qualcuno sa dirmi
    se per caso esiste una regola per cui in java:
    if (code.length() < 3) andrebbe dichiarato prima
    (ho come l'impressione che dopo l'else per logica java lo sottointenda e per cio' non lo riesegue)
    o se c'e' qualche altro errore di logica?
    Il mio compilatore JCreator non rileva nulla di scorretto.
    Grazie

  2. #2
    tu nell'else ricambi di nuovo il valore di code.
    potrebbe darsi che questo faccia in modo che prima code.length è > 3, quindi entra nell'elese, ma poi viene cambiato e divenza < 3.

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.