Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: programmino in java

  1. #1
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775

    programmino in java



    qualcuno puo brevemente spiegarmi come fare questo programma:

    - data una frase dire quante parole essa contiene

    naturalmente con gli array di caratteri.. grazie mille!! =)

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    La via più rapida: splitti attorno a tutto quello che non è un carattere a-zA-Z, con l'apposito metodo split di String che ti ritorna appunto un array di String. Non ti resta che ritornare length di tale array.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    splitti?
    io sono alle prime armi con gli array.. a scuola li abbiamo iniziati da 1-2 mesi..

    avevo pensato ad una soluzione, ma non saprei..

    se frase[i]==" "

    CIOE':

    se il carattere è uguale a spazio aumenta il contatore di 1

    però poi non saprei come fare quando supera l'ultimo carattere.. come fermare il ciclo..

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    anche il tuo metodo va bene... il ciclo lo fai da 0 a stringa.length-1

    codice:
    public int contaParole(String str) {
      str = str.trim();
      int parole = 1;
      for (int i = 0; i < str.length()-1; i++) {
           parole += (str.substring(i, i+1).equals(" ") ? 1 : 0);
      }
      return parole;
    }
    il trim serve a togliere eventuali spazi all'inizio e alla fine della frase.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Originariamente inviato da Buzzz
    però poi non saprei come fare quando supera l'ultimo carattere.. come fermare il ciclo..
    Se hai un array di char ti basta usare un ciclo for, così:
    codice:
    int num = 0;
    char[] array = "Questo è solo un esempio".toCharString();
    
    for (int i = 0; i < array.length - 1; i++)
        if (array[i] != ' ') num++;
    Dovrebbe funzionare.

    EDIT:
    Sono stato preceduto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    fatto bene a postare lo stesso: la tua è un'altra possibilità ancora, passando per i char.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    Grazie ad entrambi!

    PS: devo ancora provare il codice, ma se metto array.length - 1 l'ultima parola me la conta? perchè ho visto che poi hai messo num=0..


  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Originariamente inviato da Buzzz
    PS: devo ancora provare il codice, ma se metto array.length - 1 l'ultima parola me la conta? perchè ho visto che poi hai messo num=0..
    La tua osservazione dovrebbe essere corretta, ma onestamente non avendolo provato mi era sfuggito.

  9. #9
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Se sei sicuro che la tua frase è nel formato
    "parola<spazio>parola..........<spazio>parola"
    alla fine devi sommare 1 al contatore delle parole.

    Non credo ti sia richiesto (mi sembra sia una specie di compito), ma tieni presente che nella realtà dovresti considerare anche i casi particolari. Ad esempio, se la frase comincia oppure termina con uno spazio, oppure se sono presenti più spazi consecutivi

  10. #10
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    scusate l'insistenza.. ma non mi è chiara una cosa..

    faccio

    frase=Integer.parseInt(JOptionPane.showInputDialog ("inserisci frase"));

    ora dentro a frase ad esmepio ho: questa è la frase

    ora mi chiedo, dentro alla variabile di tipo char "frase" cè: questa è la frase

    non so come spiegarlo.. in pratica se voglio riempire 5 spazi di un array devo prendere in ingresso 5 numeri per esempio.. se invece inserisco un solo numero in pratica riempio una variabile intera.. lo stesso è qui.. in questo caso come fa a contare carattere per carattere se inserisco tutta la frase in una variabile..

    se non si capisce (probabile) chiedete pure =)

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.