Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Aiuto per fare due programmi in java

    Mi trovo in una situazione disperata perchè il mio professore di informatica ci ha dato da fare due programmi per le vacanze (ho provato in tutti i modi a farli cercando per interi pomeriggi su internet).
    Chiedo il vostro aiuto per farli (il mio prof ha dato alla classe ben pochi aiuti per farli e sta di fatto che nessuno li sà fare)
    P.S. non serve che li fate per me (anche se sarebbe molto gradito) ma mi servirebbe che mi spiegaste come fare
    1)Scrivere e inviare un programma in Java che:
    legge da tastiera una stringa di caratteri
    conta quanti di questi caratteri sono vocali
    conta quanti caratteri sono spazi (significa “ “)
    visualizza la percentuale di vocali
    visualizza la percentuale di spazi
    suggerimento:
    se testo è la stringa letta allora:
    testo.toLowerCase(); // per trasformarla in caratteri minuscoli
    int l=testo.length(); // per avere la lunghezza della stringa in l
    int carattere=testo.charAt(i); // per trasferire il carattere i-esimo nellla variabile carattere
    Traccia del programma:
    leggere la stringa da tastiera
    impostare un ciclo for che si ripete per tutti i caratteri della stringa
    all'interno del ciclo usare il costrutto switch (oppure una catena di if ..else) per gestire i contatori delle vocali e degli spazi
    all'uscita del ciclo calcolare e visualizzare le percentuali

    2)Scrivere ed inviare un programma in Java che:
    riceve da tastiera una data nel formato gg/mm/aaaa (giorno/mese/anno)
    visualizza separatamente il giorno (numero), il mese (parola) e l'anno (numero).
    Esempio di visualizzazione:
    data: 24/12/2012
    la data specificata è la seguente:
    giorno : 24
    mese: Dicembre
    anno: 2012
    .
    suggerimento:
    usare il metodo data.substring()

    Grazie in anticipo per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Aiuto per fare due programmi in java

    Originariamente inviato da enri101997
    Mi trovo in una situazione disperata perchè il mio professore di informatica ci ha dato da fare due programmi per le vacanze (ho provato in tutti i modi a farli cercando per interi pomeriggi su internet).
    Chiedo il vostro aiuto per farli (il mio prof ha dato alla classe ben pochi aiuti per farli e sta di fatto che nessuno li sà fare)
    P.S. non serve che li fate per me (anche se sarebbe molto gradito) ma mi servirebbe che mi spiegaste come fare
    Su che libro hai studiato/stai studiando? Perché i due programmini sono veramente banali... Se non sai farli in Java, metti da parte il pc un attimo e prova a scrivere l'algoritmo su carta usando una pseudo-codifica.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Uso 21 giorni per imparare Java ma il libro non L abbiamo comprato perchè il prof ci passa il PDF con i capitoli e non c'è niente
    Comunque ho incominciato a studiare programmazione neanche un mese fa quindi sono ancora nuovo del settore

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da enri101997
    Uso 21 giorni per imparare Java
    Mai sentito...

    Originariamente inviato da enri101997
    ma il libro non L abbiamo comprato perchè il prof ci passa il PDF con i capitoli e non c'è niente
    Non conosco il libro specifico ma "non c'è niente" mi pare esagerato... I costrutti base (blocchi condizionali, cicli) immagino ci siano, così come una spiegazione sui tipi di dato e qualcosa sulla classe String (altrimenti non è un libro di programmazione ma spazzatura.) Nella traccia inoltre vengono consigliati alcuni metodi di String (toLowerCase, substring, charAt...). Se proprio non sai come usarli, c'è la documentazione ufficiale

    Hai provato a buttar giù un po' di pseudocodice? Una traccia (molto alla buona) può essere:

    codice:
    INPUT STRINGA S
    
    LUNGHEZZA_S = S.length();
    VOCALI = 0;
    SPAZI = 0;
    
    PER OGNI CARATTERE I DI S:
      SE S.charAt(I) E' VOCALE
        VOCALI = VOCALI + 1;
      ALTRIMENTI SE S.charAt(I) E' SPAZIO
        SPAZI = SPAZI + 1;
    
    PERC_VOCALI = VOCALI / LUNGHEZZA_S * 100
    PERC_SPAZI  = SPAZI / LUNGHEZZA_S * 100
    
    STAMPA PERC_VOCALI
    STAMPA PERC_SPAZI
    "E' VOCALE" può essere un apposito metodo, es.:
    codice:
    E' VOCALE(CARATTERE_I):
      SE (CARATTERE_I == 'a' OPPURE CARATTERE_I == 'e' OPPURE .... ==  'u')
         RESTITUISCI SI
      ALTRIMENTI
         RESTITUISCI NO
    E così via...

    Originariamente inviato da enri101997
    Comunque ho incominciato a studiare programmazione neanche un mese fa quindi sono ancora nuovo del settore
    Capito. Immagino che prima di partire con Java il tuo professore abbia iniziato a parlare di algoritmi e pseudo codice... O sbaglio?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    va bene così il primo? perchè mi da errore

    import java.io.InputStreamReader;
    import java.io.BufferedReader;
    import java.io.IOException;
    public class caratteri {

    public static void main(String[] arguments) {
    InputStreamReader reader = new InputStreamReader (System.in);
    BufferedReader myInput = new BufferedReader (reader);
    String testo = new String ();
    testo.toLowerCase(); // per trasformarla in caratteri minuscoli
    int l=testo.length(); // per avere la lunghezza della stringa in l
    int v = 0;
    int s = 0;
    int carattere = testo.charAt(i); // per trasferire il carattere i-esimo nellla variabile carattere
    if (carattere == v){
    v++;
    }
    else if (carattere == s) {
    s++;
    }
    int perv = v/l * 100;
    int pers = s/l * 100;
    System.out.println(perv);
    System.out.println(pers);
    }
    }

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da enri101997
    va bene così il primo? perchè mi da errore
    Il codice va inserito con il tag CODE, altrimenti non si capisce nulla. E sarebbe carino se postassi l'errore che ottieni...


    Originariamente inviato da enri101997
    codice:
    int carattere = testo.charAt(i); 
    if (carattere == v) {
      v++;
    } else if (carattere == s) {
      s++;
    }
    No.

    Vai a prendere il carattere i-esimo. Ma:
    1. i non è dichiarata
    2. non c'è alcun ciclo per scorrere la stringa

    Inoltre quegli if non hanno alcun senso.
    v è il numero di vocali. Perché verifichi se il carattere i-simo è uguale al numero di vocali? Che senso ha?


    Originariamente inviato da enri101997
    codice:
          int perv = v/l * 100;
          int pers = s/l * 100;
          System.out.println(perv);
          System.out.println(pers);
    No, perv e pers varranno (quasi) sempre zero.
    v/l è una divisione tra interi. Il risultato è un intero. Questo significa che il risultato viene troncato. Essendo v <= l e s <= l, quella divisione darà 0 nel 99% dei casi. Dichiara perv e pers double e fai un cast.

    Poi, un messaggio che spiega l'output rende tutto più chiaro:

    System.out.println("La percentuale di vocali e\' " + perv + "%");


    Un suggerimento: dai nomi più significativi alle variabili. l, v, s sono incomprensibili. Usa piuttosto lunghezzaInput, numeroVocali, numeroSpazi ecc...
    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.