Come implementare in Java questo programma?
Realizzare un software per la gestione di un ipotetico campionato di velocità. Il software dovrà avere le seguenti caratteristiche:
il campionato è composto da 10 gare;
ogni corridore avrà associato un numero intero che ne rappresenta "il potere", cioè il corridore con numero più alto può vincere, statisticamente, di più rispetto a un'altro con il numero più basso;
un menù per la gestione delle varie fasi come, ad esempio:
l'inserimento in "ordine alfabetico" di un nuovo atleta;
il caricamento da file dell'elenco degli atleti;
generazione random delle posizioni al traguardo per ciascuna gara;
stampa a video l'ordine dell'arrivo al traguardo della singola gara, ordinata per posizione;
stampa a video della classifica della singola gara, ordinata per punteggio, ricordando che il primo al traguardo guadagna 10 punti, il secondo 8, il terzo 6, il quanto 5 e così fino all'ottava posizione;
stampa a video della classifica di tutto il campionato disputato al momento, ordinata per punteggio, ricordando che il primo al traguardo guadagna 10 punti, il secondo 8, il terzo 6, il quanto 5 e così fino all'ottava posizione;
salva la sessione di lavoro su file.
Ecco quello che sono riuscito a fare finora:
codice:
/*
<<<Problema>>>
Realizzare un software che simuli
i risultati di una competizione fra atleti.
<<<Algoritmo>>>
* Caricare i nomi della lista degli atleti
* Aggiungere nuovo atleta da console
* Generare le posizioni casuali degli atleti in arrivo
* Stampare gli atleti secondo il loro arrivo
Metodi da creare:
* Caricare la lista degli atleti da un file .txt
* Aggiungere un nuovo atleta da console
* Generare le posizioni casuali degli atleti in arrivo
Tipi di array:
* i nomi;
* gli arrivi;
* gli atleti;
Pseudocodifica:
inizio classe Ris_Comp
dichiarazione e inizializzazione degli attributi:
private String nomi[];
private String arrivi[];
private String atleta[];
int numeroAtleti = 0;
Ris_Comp()
{
this.atleta = atleta;
this.arrivi = arrivi;
this.nomi = nomi;
atleta = new atleta[10];
arrivi = new arrivi[10];
nomi = new nomi[10];
}
caricaAtleti()
{
}
aggiugiAtleta()
{
}
generaPosizione()
{
int cont;
per(cont = 0; cont<numeroAtleti; cont++)
se (atleta[cont] == (int) Math.random()*10+1)
atleta[cont];
}
fine classe Ris_Comp
*/
import java.util.Scanner;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.FileReader;
class Ris_Comp
{
//dichiaro e inizializzo gli attributi
private String nomi[];
private String arrivi[];
private String atleta[];
int numeroAtleti = 0;
//metodo costruttore
public void Ris_Comp()
{
atleta = new atleta[10];
arrivi = new arrivi[10];
nomi = new nomi[10];
}
//metodo carica atleti da file .txt
public void caricaAtleti()
{
//filereader e scanner
}
//metodo aggiungi atleta da input(tastiera)
public void aggiugiAtleta()
{
Scanner sc = new Scanner(System.in);
System.out.print("Inserire il nome di un atleta: ");
}
//metodo che genera le posizioni di arrivo
public void generaPosizione()
{
int cont;
for(cont = 0; cont<numeroAtleti;cont++)
if (atleta[cont] == (int) Math.random()*10 + 1)
atleta[cont];
}
}
Grazie in anticipo per tutti i consigli che mi darette!