mongy95
04-06-2016, 17:40
Salve a tutti,
premetto che ho iniziato a programmare da poco e non penso di essere tanto buono vorrei sapere se qualcuno mi può aiutare
ho questo file da leggere
"
NOME: Marco
VALORI: 1,2,3,4,5,6
NOME: Matteo
VALORI: 4,5,5,6,7,2
NOME: Marco
VALORI: 1,2,1
"
public class ListaVettori {
HashMap<String,Vettore> h;
public ListaVettori(){
h = new HashMap<String,Vettore>();
}
public void LeggiFile(String file){
try{
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while((line = br.readLine())!= null){
String nome;
Vettore v;
if(line.contains("NOME: ")){
line = line.replaceAll("NOME: ", "");
nome = line;
v = h.get(nome);
if(v == null){
v = new Vettore(nome);
h.put(nome, v);
if(v.ripetizioni(nome)==1)
System.out.println(nome);
}
line = br.readLine();
if(line.contains("VALORI: ")){
line = line.replaceAll("VALORI: ", "");
String el[] = line.split(",");
for(String k : el)
v.add(k);
}
}
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
ho creato una classe dove c'è il main e e dove leggo e scrivo i file e un'altra classe che contiene il nome del vettore e un arraylist del vettore stesso
e non riesco a svolgere alcuni punti richiesti quali:
1. Stampare tutti i vettori che iniziano con un numero dispari
2. Stampare i vettori palindromi (cioè che letti in un senso o nell’altro, restano uguali – es., 1,2,1)
so che il primo è molto facile ma il mio problema è che, usando gli hasmap automaticamente mi associa al nome marco un unico vettore [1,2,3,4,5,6,1,2,1]
mentre io vorrei che fossero staccati i due vettori
molto probabilmente è una cosa facile vi prego se mi potete dare una mano
grazie!
premetto che ho iniziato a programmare da poco e non penso di essere tanto buono vorrei sapere se qualcuno mi può aiutare
ho questo file da leggere
"
NOME: Marco
VALORI: 1,2,3,4,5,6
NOME: Matteo
VALORI: 4,5,5,6,7,2
NOME: Marco
VALORI: 1,2,1
"
public class ListaVettori {
HashMap<String,Vettore> h;
public ListaVettori(){
h = new HashMap<String,Vettore>();
}
public void LeggiFile(String file){
try{
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while((line = br.readLine())!= null){
String nome;
Vettore v;
if(line.contains("NOME: ")){
line = line.replaceAll("NOME: ", "");
nome = line;
v = h.get(nome);
if(v == null){
v = new Vettore(nome);
h.put(nome, v);
if(v.ripetizioni(nome)==1)
System.out.println(nome);
}
line = br.readLine();
if(line.contains("VALORI: ")){
line = line.replaceAll("VALORI: ", "");
String el[] = line.split(",");
for(String k : el)
v.add(k);
}
}
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
ho creato una classe dove c'è il main e e dove leggo e scrivo i file e un'altra classe che contiene il nome del vettore e un arraylist del vettore stesso
e non riesco a svolgere alcuni punti richiesti quali:
1. Stampare tutti i vettori che iniziano con un numero dispari
2. Stampare i vettori palindromi (cioè che letti in un senso o nell’altro, restano uguali – es., 1,2,1)
so che il primo è molto facile ma il mio problema è che, usando gli hasmap automaticamente mi associa al nome marco un unico vettore [1,2,3,4,5,6,1,2,1]
mentre io vorrei che fossero staccati i due vettori
molto probabilmente è una cosa facile vi prego se mi potete dare una mano
grazie!