Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    23

    Aiuto esercizio

    Salve a tutti mi trovo a dover affrontare un esercizio che ha questo testo :
    Scrivere il codice di una funzione in java che permetta di restituire il numero di caratteri della parola più lunga contenuta in una stringa. considerare soltanto i caratteri dalla a alla z(maiuscoli e minuscoli escludendo i caratteri accentati) come possibili caratteri di una parola.

    Da poco sto studiando programmazione e sono molto molto inesperta mi sono scritta questo pseudocodice che però non so tramutare in codice

    riconoscere la parola escludendo i caratteri accentati (l'espressione [A-Za-z] li esclude??)
    dividere la stringa in parole e inserirle in array
    confrontare la lunghezza degli array
    ritorna lunghezza max

    fin qui come vado?? potreste darmi qualche suggerimento per impostare meglio la situazione?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ti invito a leggere il Regolamento interno, in particolare la parte riguardante i titoli delle discussioni. Il titolo è molto importante e deve dare un'idea del contenuto della discussione.

    Più del 60% delle discussioni su questo forum riguardano problemi con esercizi...

    Correggo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    un problema alla volta e non tutti insieme.
    Scopriamo intanto se la stringa è ben formata, sei andata sulla regex (ed è corretto), ma sai come funziona la libreria?

    http://download.oracle.com/javase/tu...sential/regex/

    qui sulle regex, per gli altri punti ci si pensa dopo, anche se un'occhiata qui

    http://download.oracle.com/javase/1....ng/String.html

    ti può chiarire un po' le idee.

    Ti ho dato i link di regex della oracle (uno dei primi result della ricerca su google "regex java" e le API di String)

  4. #4
    Non ho mai fatto un esercizio del genere ma ti dico come lo affronterei:
    - crecherei prima di tutto di fare dei token con un tokanaizer, o per meglio dire, trasformare la stinga in un array di caratteri, questo è un esempio alla buona preso da internet:
    public void convertStringToChar() {
    String str = "ANUSMITA";
    char[] ch = str.toCharArray();
    for (char c : ch)
    System.out.println(c); }
    - una volta che hai l'array potrai scandirlo come qualsiasi array, se trovi dopo una lettera un altra lettera la aggiungi ad una stringa prefatta, se hai un carattere speciale passi oltre, sehai uno spazio allora salvi una'altra stringa

    Se ti è poco chiaro qualcosa chiedi pure, sono stato vago poichè gli esercizi è bene fare codice da soli anche sbagliato che poi si può correggere insieme piuttosto che ti fo bello e fatto l'esercizio
    ciao ciao

  5. #5
    Io farei così

    - spezzare la stringa in un unico array utilizzando il metodo split della classe String (usando lo spazio come separatore)
    - per ogni elemento dell'array ottenuto, eliminare i caratteri non validi (replaceAll("[^a-zA-Z]",""));
    - utilizzare una variabile intera (inizializzata a 0) che conterrà la lunghezza più grande (int lungMax = 0);
    - per ogni elemento dell'array confrontare la lunghezza dell'elemento con la variabile lungMax. Se la lunghezza dell'elemento è maggiore di lungMax, assegnare a lungMax tale valore.

    Spero di essere stato chiaro.. anche perchè è più facile scrivere il codice che spiegarlo
    Al mio segnale... scatenate l'inferno!

  6. #6
    [b]
    - spezzare la stringa in un unico array utilizzando il metodo split della classe String (usando lo spazio come separatore)
    wow non conoscevo il metodo split, sono abituato ad utilizzare metodi canonici ma devo dire che in questa maniera sembra molto più semplice... quando scopro queste cose mi sento male, scelgo sempre il metodo più duro, dovrei programma re più spesso e tenermi aggiornato, grande R@ave M@ster

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da zerochool
    wow non conoscevo il metodo split, sono abituato ad utilizzare metodi canonici ma devo dire che in questa maniera sembra molto più semplice... quando scopro queste cose mi sento male, scelgo sempre il metodo più duro, dovrei programma re più spesso e tenermi aggiornato, grande R@ave M@ster
    Guarda le API e li trovi i metodi!!!
    Come puoi pensare di programmare senza conoscere le API?!?

  8. #8
    Originariamente inviato da valia
    Guarda le API e li trovi i metodi!!!
    Come puoi pensare di programmare senza conoscere le API?!?
    Faccio come Archimede: "datemi un array ed io vi programmerò il mondo!?" eheheh

    Ci sono alcune API che sono essenziali, senza di esse proprio non si può fare niente... poi ci sono quelle alternative già belle e fatte. Un esempio di questo è un socket:
    ormai tutti usano il socket di java, ma è molto interessante pensare che volendosi fare un mazzo tanto, chiunque può in realtà fare il suo proprio socket con le sue procedure e metodi. Paradossalmente, utilizzando la semplice classe Class si possono rifare tutte le API ora presenti, cosa che non consiglio a nessuno!!!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da zerochool
    Faccio come Archimede: "datemi un array ed io vi programmerò il mondo!?" eheheh

    Ci sono alcune API che sono essenziali, senza di esse proprio non si può fare niente... poi ci sono quelle alternative già belle e fatte. Un esempio di questo è un socket:
    è inutile inventare l'acqua calda di nuovo.
    E' utile sapere come funzionano le API e alcune come esercizio mi è pure toccato riscriverle.
    Il punto è che non ti parlo della classe vattelapesca che conosci solo se l'hai usata una volta in vita tua, ti parlo di String, una delle classi più usate in Java e almeno quelle devi conoscerla o comunque se non conosci una classe, impara a guardare le API per vedere se ti può tornare utile dopo che ti "suggeriscono" che quella classe ha la soluzione al tuo problema!!!
    Come diceva ieri un altro utente, l'avere tutto pronto e l'avere la disponibilità di persone che le cose le sanno porta ad una pigrizia tale che scoccia pure leggere e questo dà fastidio soprattutto pensando che quando ho iniziato a programmare io internet lo si usava poco e i problemi ce li risolvevamo spulciando manuali cartacei!!

  10. #10
    Originariamente inviato da valia
    è inutile inventare l'acqua calda di nuovo.
    E' utile sapere come funzionano le API e alcune come esercizio mi è pure toccato riscriverle.
    Il punto è che non ti parlo della classe vattelapesca che conosci solo se l'hai usata una volta in vita tua, ti parlo di String, una delle classi più usate in Java e almeno quelle devi conoscerla o comunque se non conosci una classe, impara a guardare le API per vedere se ti può tornare utile dopo che ti "suggeriscono" che quella classe ha la soluzione al tuo problema!!!
    Come diceva ieri un altro utente, l'avere tutto pronto e l'avere la disponibilità di persone che le cose le sanno porta ad una pigrizia tale che scoccia pure leggere e questo dà fastidio soprattutto pensando che quando ho iniziato a programmare io internet lo si usava poco e i problemi ce li risolvevamo spulciando manuali cartacei!!
    Va bè, calma, non lo faccio più... ho letto solo la richiesta di un consiglio ed ho risposto con quello che ricordavo di java, visto che normalmente programmo in C. Poi ho solo fatto un complimento a rave master perchè non ho ancora utilizzato quella classe e da oggi vedrò di usarla... già la vita è st*****a di suo, prendiamocela a ridere, almeno per cose banali non credi?? Il discorso che hai fatto tu non fa una piega ma paradossalmente anche la mia soluzione non era sbagliata ed anzi, soprattutto agli inizi, cercare di risolvere con proprie soluzione alcune problematiche aiuta per problemi futuri più complessi. Altrimenti perchè mi sarei dovuto sbattere ad imparare MIPS per 8088 ed altri liguaggi a basso livello se già esiste c++ o java belli e fatti? Aiutano a capire come magari riuscire a fare il metodo "moltiplicazione" avendo solo come operazioni ammissibili la somma. Comunque dai la smetto anche perchè risciamo di andare fuori tema.
    Riassumendo, se vuoi diventare un buon programmatore java fefuccia, dai sempre un occhio alle API

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.