allora sono andato avanti (poco) ma sempre meglio di niente...
per prima cosa ho notato che l'orario "suggerito" da utilizzare forse è più semplice di quello che avevo postato in quanto dovrebbe essere suddiviso per riga...
del tipo:
codice:
3
10:00
Udine
12:00
Venezia
8 euro
8
4:00
Bologna
..
..ecc
Quindi leggendo in giro... ho capito che invece di usare in buffereader per ogni lettera, potrei usare il readline() giusto ?? E magari trovo un modo per convertire quello che leggo per ogni riga in una stringa...
Se il testo fosse fatto come sopra invece dovrebbe essere usata una gestione dei token ( per trovare le interruzioni come i ":" o ";" che tuttavia ho solo capito che serve a quello ma non saprei come implementarla...
cosa ho combinato.. ho trovato una classe e un programmino e li ho riaddatati ai miei fini, in questo caso gestiscono l'ordinamento di un'array di stringhe in ordine alfabetico..
La classe che gestisce i nomi utilizzando Comparable...
codice:
import java.util.*;
public class Nome implements Comparable<Nome> {
private final String Nome;
public Nome(String Nome) {
if (Nome == null ) {
throw new NullPointerException();
}
this.Nome = Nome;
}
public String Nome() {
return Nome;
}
public boolean equals(Object o) {
if (!(o instanceof Nome))
return false;
Nome n = (Nome)o;
return n.Nome.equals(Nome);
}
public int hashCode() {
return 31*Nome.hashCode();
}
public String toString() {
return Nome;
}
public int compareTo(Nome n) {
return (Nome.compareTo(n.Nome));
}
}
Il programma che mi ordina 2 array di stringhe
codice:
import java.util.*;
public class NomeOrdinamento {
public static void main(String[] args) {
// I nomi delle città devono venire dal file di testo txt!!!
Nome cittaPartenza[] = { new Nome("Udine"), new Nome("Bologna"),new Nome("Cosenza")};
Nome cittaArrivo[] = { new Nome("Venezia"),new Nome("Firenze"),new Nome("Torino")};
List<Nome> cittaPart = Arrays.asList(cittaPartenza);// Crea un ArrayList (cittaPartenz) basandosi sull'array cittaPartenza
Collections.sort(cittaPart);// Ordina la collezione con un ordine alfabetico
List<Nome> cittaArriv = Arrays.asList(cittaArrivo);// Crea un ArrayList (cittaArriv) basandosi sull'array cittaArrivo
Collections.sort(cittaArriv);// Ordina la collezione con un ordine alfabetico
System.out.println(cittaPart+"\n"+cittaArriv);
}
}
essendo riaddatatta (sopratutto la classe) vorrei sapere se l'implementazione è giusta oppure ho messo qualcosa di troppo.. in quanto alcuni punti non mi sono proprio chiari... :master:
Cos'altro... si ora devo riuscire a tirare su dal file di testo delle stringhe usando readline()...
( accetto suggerimenti, magari un semplice esempio), una volta fatto questo, le stringhe numeriche le converto in numeri con Integer.parseInt(String) e visto che il programma per l'ordinamento delle stringhe "alfabetiche" l'ho già rimediato va abbastanza bene...
mi rimane sempre il problema di come far "settare" i parametri gli uni rispetto agl'altri...
su suggerimento di andbin ho implementato una semplice classe Orario... tuttavia non è ancora implementata per "l'ordinamento naturale"... e accetto suggerimenti..
codice:
class Orario {
private int numero;
private int ora;
private int minuti;
public Orario(int numero, int ora, int minuti) {
this.numero = numero;
this.ora = ora;
this.minuti = minuti;
}
public int getOra() {
return ora;
}
public int getMinuti() {
return minuti;
}
public int getNumero() {
return numero;
}
}
sto progetto non so voi ma mi fa diventare matto...
come faccio a collegare "relazionare" array ( oppure arraylist ?? ) di stringhe distinti ???? :berto: