Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    21

    Nuovo nel mondo java, primo dubbio programma!

    Sto seguendo un corso di java, sto cercando di fare un'esercizio che richiede quando segue:

    Come il precedente solo che in questo caso la stringa deve essere scritta in maiuscolo per le iterazioni di in-dice pari e minuscolo per quelle di indice dispari.

    SVOLGIMENTO:

    Non riesco a capire dove ho sbagliato, perchè mi riporta sempre tutto in maiuscolo. Se io ho imposto la condizione che: contatore % 2 == 0 tramite un if non dovrebbe funzionare?

    codice:
     public static void main(String[] args) {
            // TODO code application logic here
            
            System.out.println("Inserisci una parola ");
            
            Scanner parola = new Scanner(System.in);
            
            String stringa = parola.nextLine();
            
            int contatore;
            
            for(contatore=0; contatore<=10; contatore++){
                
                if(contatore%2==0){
                
                         stringa = stringa.toUpperCase();
                         System.out.println("la stringa è " +stringa);
                 }else{
                         System.out.println("la stringa è " +stringa);
                    }
                
             }
            
            
    }
    Grazie in anticipo!

  2. #2
    Ciao elias90 e benvenuto nel mondo java.
    L'errore sta nel fatto che dopo che trasformi la stringa in UpperCase non la trasformi più in lowerCase quindi la stringa rimane sempre maiuscola.
    codice:
    if(contatore%2==0){
                
                         stringa = stringa.toUpperCase();
                         System.out.println("la stringa è " +stringa);
                 }else{
                         //Quando entra nell'else devi di nuovo trasformare la stringa
                         stringa = stringa.toLowerCase();
                         System.out.println("la stringa è " +stringa);
                    }
    Un'altra soluzione sarebbe, sfruttando l'immutabilità delle stringhe :
    codice:
    if(contatore%2==0){
                
                         System.out.println("la stringa è " +stringa.toUpperCase());
                 }else{
                         //Quando entra nell'else devi di nuovo trasformare la stringa
                         
                         System.out.println("la stringa è " +stringa.toLowerCase());
                    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    21
    Infatti, ora che ci rifletto su hai ragione! non ci avevo proprio pensato!


    ps. GRAZIE MILLE!

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.