Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da maseeeeeee Visualizza il messaggio
    ok stavolta non capisco però....ci arriverò è un pò diverso dal c
    if (car=='a'||'e'||'i'||'o'||'u')

    non ha senso né in "C" né in Java (e nemmeno in altri linguaggi, direi) perché (secondo la tua intenzione) esprimerebbe un confronto "multiplo" tra 1 valore e N altri valori. Che non si può fare con un solo operatore di uguaglianza ==.
    In Java l'espressione non compila nemmeno, per le regole che ho riportato prima. In C/C++ compila (il concetto di booleano è più ampio) ma il risultato non è certo quello voluto. E, ripeto, non ha appunto senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Quote Originariamente inviata da andbin Visualizza il messaggio
    if (car=='a'||'e'||'i'||'o'||'u')

    non ha senso né in "C" né in Java (e nemmeno in altri linguaggi, direi) perché (secondo la tua intenzione) esprimerebbe un confronto "multiplo" tra 1 valore e N altri valori. Che non si può fare con un solo operatore di uguaglianza ==.
    In Java l'espressione non compila nemmeno, per le regole che ho riportato prima. In C/C++ compila (il concetto di booleano è più ampio) ma il risultato non è certo quello voluto. E, ripeto, non ha appunto senso.


    Hai ragione forse mi sto confondendo uso switch e passa la paura...ho si risolve in parentesi??

    grazie

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da maseeeeeee Visualizza il messaggio
    Hai ragione forse mi sto confondendo uso switch e passa la paura...
    Questi:

    codice:
    // 1)
    if (car == 'a' || car == 'e' || car == 'i' || car == 'o' || car == 'u') {
        //...
    }
    
    // 2)
    if ("aeiou".indexOf(car) != -1) {
        //...
    }
    
    // 3)
    switch (car) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
            //...
            break;
    }

    Sono tutti funzionalmente equivalenti, cioè danno lo stesso risultato.


    Quote Originariamente inviata da maseeeeeee Visualizza il messaggio
    si risolve in parentesi??
    No. L'espressione car=='a'||'e'||'i'||'o'||'u' non ha proprio senso, presupporrebbe una visione ben diversa cioè che con 1 solo == sia possibile confrontare car con N altri valori. Non funziona così. Non in C/C++, non in Java e credo in nessun altro linguaggio. Quindi non risolveresti mettendo qualche parentesi in più.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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