Har försökt nu ett tag och får fel när jag ska konvertera mina strängar till double.
Jag vill som sagt läsa in varannan sträng från textfilen, konvertera till en double och sedan slänga in i min ageList-array.
Ser ni något uppenbart fel jag gör?
public class Uppgift1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)throws IOException{
String thisLine;
try{
File file = new File("elevinfo.txt");
file.createNewFile();
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Marie Sten");
bw.write(System.lineSeparator());
bw.write("29");
bw.write(System.lineSeparator());
bw.write("Alexander Lind");
bw.write(System.lineSeparator());
bw.write("35");
bw.write(System.lineSeparator());
bw.write("Olle Ibrahimovic");
bw.write(System.lineSeparator());
bw.write("30");
bw.write(System.lineSeparator());
bw.write("Kajsa Persson");
bw.write(System.lineSeparator());
bw.write("35");
bw.close();
}catch(IOException e){
e.printStackTrace();
}
try{
FileReader fr = new FileReader("elevinfo.txt");
BufferedReader br = new BufferedReader(fr);
while((thisLine = br.readLine()) != null){
System.out.println(thisLine);
}
}catch(IOException e){
e.printStackTrace();
}
try{
ArrayList<Double>ageList = new ArrayList<>();
FileReader fr = new FileReader("elevinfo.txt");
BufferedReader br = new BufferedReader(fr);
while((thisLine = br.readLine()) != null){
br.readLine();
double age = Double.parseDouble(thisLine);
ageList.add(age);
}
double sumAge = 0;
for(double i : ageList){
sumAge +=i;
System.out.println("Medelåldern på personerna i filen är: " + sumAge/ageList.size() );
}
}catch(IOException e){
e.printStackTrace();
}
}
}
Dold text
Nej, jag vet att koden inte är speciellt snygg. Detta skall ändras på men nu vill jag få funktionaliteten att fungera.
Har ni några tips? Det som inte fungerar är alltså att få in åldern i arrayen.
Mvh
Edit, får nu ut något svar som absolut inte stämmer, det skrivs ut fyra gånger också men jag verkar kunna konvertera nu iaf.
while((thisLine = br.readLine()) != null){
lineNum++;
if (( lineNum % 2) == 1 ){
}
else{
Double age = Double.parseDouble(thisLine);
ageList.add(age);
}
}
EDIT igen;
Haha, räknade ut innanför loopen. Tror jag ska lägga mig nu för jag är en jävla idiot. Nu funkar programmet iaf, tack för all input!