Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Svetlana94
    Registrato dal
    Nov 2013
    residenza
    Milano
    Messaggi
    19

    Programmino facile Java.. problema con char

    L'esercizio è il seguente :
    Scrivere un programma che legga una frase e mostri :
    -Sì se la frase termina con ? e il numero di carattari è pari.
    -No se la frase termina con ? ed il numero di caratteri è dispari.
    -Wow se termina con !.
    -Aggiungere "Tu dici sempre" seguite dalla frase inserita.

    Questo è ciò che ho tentato di fare :

    codice:
    String frase;
            int ultimoCarattere = -1; //per selezionare l'ultimo indice.
            int lunghezzaFrase;
            char '?', '!';
            
            Scanner tastiera = new Scanner(System.in);
            System.out.println("Inserisci una frase.");
            frase = tastiera.nextLine();
            
            ultimoCarattere = frase.lastIndexOF();
            lunghezzaFrase = frase.length();
            
            if (ultimoCarattere=='?') { 
            if (lunghezzaFrase%2==0)
                System.out.println("Sì");
            else
                System.out.println("No");
                }
            else if (ultimoCarattere=='!')
                System.out.println("Wow!");
            else
                System.out.println("Tu dici sempre " +frase);
    Ho sempre dei seri problemi con char.. ovviamente l'errore è ! ed ?. Non so proprio come fare! Vi ringrazio in anticipo per le risposte
    Ultima modifica di LeleFT; 18-11-2013 a 14:24 Motivo: Agiunta tag CODE

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Mmm no , ci sono un po' di cose che non vanno..
    codice:
    char '?', '!';
    che significa?il nome delle variabili dove sta?Avresti dovuto scrivere
    codice:
    char interrogativo = '?', esclamativo = '!';
    oppure saltare l'utilizzo di tali variabili e procedere (come tu hai fatto dopo) confrontando direttamente con i caratteri '?' e '!'..

    codice:
    ultimoCarattere = frase.lastIndexOF();
    Eh??Ultimo indice nella stringa "frase" di cosa?A parte che non dovrebbe nemmeno compilarti perchè il metodo è nella forma lastIndexOf (String s) oppure nelle altre varianti con altri parametri in ingresso..
    Ma poi non ti converrebbe prendere direttamente l'ultimo carattere con
    codice:
    int lunghezzaFrase = frase.length ();
    char carattereFinale = frase.charAt (lunghezzaFrase - 1);
    ?E' più semplice e intuitivo no?
    Poi il resto mi sembra che almeno a livello di logica tu ci sia arrivata anche se il codice è sicuramente migliorabile


  3. #3
    Utente di HTML.it L'avatar di Svetlana94
    Registrato dal
    Nov 2013
    residenza
    Milano
    Messaggi
    19
    Ho risolto, grazie

Tag per questa discussione

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.