Mi aiutate a realizzare un programma su Java?

di il
9 risposte

Mi aiutate a realizzare un programma su Java?

Vorrei creare un menù che sia in grado di richiamare le seguenti funzioni:
Static Void Carica(): per caricare i nomi e i tempi dei partecipanti di una gara

Static Void Ordina(): per ordinare i vettori per tempo crescente

Static Void Visualizza(): per visualizzare il nome di un concorrente di cui si conosce il tempo
Grazie anticipatamente...

9 Risposte

  • Re: Mi aiutate a realizzare un programma su Java?

    vitoingoglia ha scritto:


    Vorrei creare un menù che sia in grado di richiamare le seguenti funzioni:
    Static Void Carica(): per caricare i nomi e i tempi dei partecipanti di una gara

    Static Void Ordina(): per ordinare i vettori per tempo crescente

    Static Void Visualizza(): per visualizzare il nome di un concorrente di cui si conosce il tempo
    Ok ma cerca di chiarire meglio il contesto. Innanzitutto parliamo di una applicazione tradizionale "console" (ovvero, non GUI, grafica)?
    Dovrai sicuramente avere delle strutture dati. Parli di vettori .... cioè array o intendi collezione es. Vector?
    Hai già identificato le entità coinvolte (da "modellare" poi in classi)?
    Hai già scritto qualcosa come codice .. o no? Hai dubbi o problemi specifici? (esponili, allora)

    P.S. quei metodi statici che hai indicato devono essere per qualche "imposizione" static? Perché altrimenti sarebbe meglio fare un altro design.
  • Re: Mi aiutate a realizzare un programma su Java?

    Esattamente, dovrei creare un applicazione console. Per vettore intendo gli array... Considera che frequento un istituto tecnico, quindi l'algoritmo deve essere fatto una sintassi abbastanza semplificata, evitando istruzioni di natura difficile.
    P.S: Uso Netbeans come compilatore Java
  • Re: Mi aiutate a realizzare un programma su Java?

    vitoingoglia ha scritto:


    Esattamente, dovrei creare un applicazione console. Per vettore intendo gli array... Considera che frequento un istituto tecnico, quindi l'algoritmo deve essere fatto una sintassi abbastanza semplificata, evitando istruzioni di natura difficile.
    P.S: Uso Netbeans come compilatore Java
    Tutto ok ma ripeto, cerca di chiarire ancora e di scendere più a livello tecnico.

    Da quanto hai detto all'inizio, io vedo almeno una entità importante: il partecipante alla gara. Quindi creerai una classe es. Partecipante (o Concorrente .. scegli tu il nome). Gli oggetti di questa classe avranno 2 proprietà: il nome e il tempo. Sul nome non ci sono dubbi, sarà un String. Sul tempo .... è da valutare. Come intendi memorizzare e rappresentare il tempo? Ci sarebbero infatti svariate possibilità.

    Poi farai almeno un'altra classe che è quella di gestione generale, es. GestioneGara, che ha il classico main(String[]) di avvio della applicazione. Qui in questa classe farai la gestione del menù, del caricamento, ecc...

    Precisa bene se DEVI (perché imposto in qualche modo) avere quei tre metodi citati come static. Perché altrimenti lo static ti assicuro che NON servirebbe affatto.
    Chiarisci anche come deve avvenire il caricamento come sequenza di richieste verso l'utente. Perché hai parlato di "array" e gli array vanno istanziati innazitutto di una certa lunghezza prefissata. Quindi presupporrei che prima chiedi all'utente quanti partecipanti si vogliono caricare (così istanzi l'array della giusta dimensione) e poi chiedi (in ciclo) i dati degli N partecipanti.
    Se non deve andare così il caricamento, precisa allora come.

    Ti sono stati dati sufficienti spunti per ragionare ed analizzare meglio la questione. Inizia a scrivere del codice (se non l'hai già fatto) e per dubbi o problemi specifici, esponili postando il codice che hai scritto, che vediamo.
  • Re: Mi aiutate a realizzare un programma su Java?

    Il nome deve essere di tipo stringa, il tempo può essere un numero di tipo reale quindi solitamente lo dichiaro double...
    All'inizio quando ho aperto l'argomento su questo sito, ho scritto:
    Static Void Carica(): per caricare i nomi e i tempi dei partecipanti di una gara

    Static Void Ordina(): per ordinare i vettori per tempo crescente

    Static Void Visualizza(): per visualizzare il nome di un concorrente di cui si conosce il tempo
    Solitamente quando facciamo i programmi prima dichiariamo le variabili in modalità globale (giustamente quelle che servono nei vari sottoprogrammi, in caso contrario le dichiariamo dentro i sottoprogrammi e poi nel caso in cui potrebbero anche servire negli altri sottoprogrammi facciamo il passaggio dei parametri per riferimento se dobbiamo modificare la variabile, o per valore se vogliamo che resti uguale). In secondo luogo l'insegnante ci ha sempre suggerito di creare il Main (obbligatorio), e poi suddividere il programma nei vari sottoprogrammi con ognuna un compito ben preciso per poi arrivare al risultato desiderato (prima vanno fatte le chiamate, altrimenti non funziona).
    Quando hai scritto "Quindi presupporrei che prima chiedi all'utente quanti partecipanti si vogliono caricare (così istanzi l'array della giusta dimensione) e poi chiedi (in ciclo) i dati degli N partecipanti.", hai detto bene, bravo. Deve essere fatto ovviamente con il ciclo for o while (usiamo sempre io costrutti for, in quanto più intuitivi).
    Per un programmatore dovrebbe essere un programma molto banale, per me invece è un po' difficile in quanto sono sempre stato un ragazzo appassionato in matematica, studiando meno l'informatica... Siccome martedì dovrei fare un compito in classe quindi avrei bisogno di un aiuto urgente al fine di evitare un brutto voto... Per qualsiasi altro dubbio o perplessità non esitare a contattarmi, sarò lieto di aiutarti.
  • Re: Mi aiutate a realizzare un programma su Java?

    vitoingoglia ha scritto:


    avrei bisogno di un aiuto urgente al fine di evitare un brutto voto... Per qualsiasi altro dubbio o perplessità non esitare a contattarmi, sarò lieto di aiutarti.
  • Re: Mi aiutate a realizzare un programma su Java?

    Guarda, potevi anche evitare di inviare queste faccine. E tu sei un programmatore? Non sei un programmatore, te non sai fare niente... Non dovresti neanche stare in questo forum. Qui di seguito ti invio l'algoritmo funzionante e svolto con la mia testa, nel caso in cui "ti servisse d'aiuto"...
    package esercizio.di.informatica;
    import java.io.*;
    import java.util.*;
    import java.text.*;
    public class EsercizioDiInformatica {
    public static InputStreamReader input=new InputStreamReader (System.in);
    public static BufferedReader tastiera= new BufferedReader (input);
    public static String VETTORENOMI[]=new String[80];
    public static int VETTORETEMPI[]=new int [80];
    public static int I=0;
    public static void main(String[] args) {
    int SCELTA=0;
    do
    {
    try
    {
    System.out.println ("Benvenuto! Scegli cosa effettuare...");
    System.out.println ("1. Inserimento nome e tempo impiegato dal concorrente");
    System.out.println ("2. Ordinamento tempi in modalità crescente");
    System.out.println ("3. Visualizzazione nome di un concorrente");
    System.out.println ("4. Esci dal programma");
    SCELTA=Integer.parseInt(tastiera.readLine());
    }
    catch (Exception e)
    {
    }
    switch (SCELTA)
    {
    case 1:
    Carica(); //Primo sottoprogramma
    break;
    case 2:
    Ordina(); //Secondo sottoprogramma
    break;
    case 3:
    Visualizza(); //Terzo sottoprogramma
    break;
    }

    }while (SCELTA !=4);
    }
    static void Carica()
    {
    try
    {
    System.out.println ("Inserisci il nome del concorrente");
    VETTORENOMI[I]=tastiera.readLine();
    System.out.println ("Inserisci il tempo impiegato");
    VETTORETEMPI[I]=Integer.parseInt (tastiera.readLine());
    I++;
    }
    catch(Exception e)
    {
    }
    }
    static void Ordina()
    {
    try
    {
    String COMODO2;
    int COMODO=0;
    for (I=0;I<80-1;I++)
    {
    for (int X=I+1;X<80;X++)
    {
    if (VETTORETEMPI[I]>VETTORETEMPI[X])
    {
    COMODO=VETTORETEMPI[I];
    VETTORETEMPI[I]=VETTORETEMPI[X];
    VETTORETEMPI[X]=COMODO;
    COMODO2=VETTORENOMI[I];
    VETTORENOMI[I]=VETTORENOMI[X];
    VETTORENOMI[X]=COMODO2;
    }
    }
    }
    for (int I=0;I<80;I++)
    {
    System.out.println ("Nome del concorrente:" + VETTORENOMI[I]);
    System.out.println ("Tempo impiegato:" + VETTORETEMPI[I]);
    }
    }catch(Exception e)
    {
    }
    }
    static void Visualizza()
    {
    try
    {
    int TEMPOX;
    System.out.println ("Inserisci il tempo");
    TEMPOX=Integer.parseInt (tastiera.readLine());
    for (int X=0; X<I;X++)
    {
    if (TEMPOX==(VETTORETEMPI[X]))
    {
    System.out.println ("Il nome del concorrente è " + VETTORENOMI[X]);
    }
    }
    }catch (Exception e)
    {
    }
    }
    }
  • Re: Mi aiutate a realizzare un programma su Java?

    Ma vito ... perché non lo inviavi prima ? Così potevi confrontarti piuttosto che chiedere la pappa pronta per evitare un brutto voto ... pappa pronta che hai ottenuto da qualche altra parte ...
  • Re: Mi aiutate a realizzare un programma su Java?

    Mi dispiace fraintenderti, ma è pappa ottenuta da farina del mio sacco... Forse le vostre risposte sono copiate e incollate da qualche altra parte... Questo forum è inutile, preferisco eliminare l'account...
  • Re: Mi aiutate a realizzare un programma su Java?

    Se hai scambiato questo forum per uno strumento al tuo servizio 'urgente' per evitarti brutti voti, allora va bene cosi, non ci mancherai.
Devi accedere o registrarti per scrivere nel forum
9 risposte