Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con indexOf

  1. #1
    Utente di HTML.it L'avatar di Svetlana94
    Registrato dal
    Nov 2013
    residenza
    Milano
    Messaggi
    19

    Problema con indexOf

    Ho da poco iniziato a studiare java ma sono bloccata su questo esercizio :
    Creare un programma che chiede di inserire nome e cognome e poi lo stampi a video con le iniziali maiuscole anche se l'utente le scrive in piccolo. Ho già fatto l'esercizio in questo modo :

    import java.util.Scanner;

    public class Esercizio5 {

    public static void main(String[] args) {

    String nome,cognome,inizio_cognome,resto_cognome,inizio_n ome,resto_nome;

    Scanner tastiera = new Scanner(System.in);
    System.out.println("Inserisci il cognome");

    cognome = tastiera.nextLine();

    System.out.println("Inserisci il nome");

    nome = tastiera.next();

    inizio_cognome = cognome.substring(0, 1);
    inizio_cognome = inizio_cognome.toUpperCase();
    inizio_nome = nome.substring(0, 1);
    inizio_nome = inizio_nome.toUpperCase();
    resto_cognome = cognome.substring(1);
    resto_nome = nome.substring(1);


    System.out.println("Ecco il tuo nome : " +inizio_cognome + resto_cognome + " " + inizio_nome + resto_nome);

    }
    }
    Ma adesso devo rifarlo chiedendo nome e cognome sulla stessa riga e non su due righe diverse, e di usare indexOf (senza cicli). Per voi sarà una passeggiata, ma per me non lo è .
    Grazie in anticipo per l'aiuto!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Non puoi usare cicli quindi si suppone , penso , che si abbia un solo "token" per nome e uno per cognome divisi da uno spazio.
    Detto questo puoi usare indexOf per trovare la posizione dello spazio e rendere maiuscola la prima lettera dopo lo spazio e ovviamente la prima lettera dell'input..


  3. #3
    Utente di HTML.it L'avatar di Svetlana94
    Registrato dal
    Nov 2013
    residenza
    Milano
    Messaggi
    19
    Sì, questa cosa la sapevo. Il problema è che non so come usare indexof perchè poi dovrei creare una substring e successivamente toUpperCase come ho fatto in precedenza ma.. non so cosa scrivere per rendere la lettera iniziale maiuscola dopo lo spazio. Es : Nome Cognome (con indexOF). Spero di essermi spiegata bene.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ovviamente non puoi usare solo indexOf!
    Con indexOf() ti vai a cercare lo spazio che separa il nome dal cognome. Fatto questo farai due substring per avere il nome ed il cognome separati e poi prosegui come hai già fatto (che comunque è migliorabile)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.