beste allemaal,
Gisteren heb ik een programmaatje gemaakt, dat nummers uit een file leest, en per 3 getallen de average en de median aangeeft.
Het probleem is alleen dat als hij dat voor alle nummers gedaan heeft, er een fout komt: "end of file while reading from file "numbers.txt".
Hoe is het op te lossen?( dat hij op tijd stopt met het readen van file numbers.txt, right?)
Alvast bedankt!
Hieronder de code
Gisteren heb ik een programmaatje gemaakt, dat nummers uit een file leest, en per 3 getallen de average en de median aangeeft.
Het probleem is alleen dat als hij dat voor alle nummers gedaan heeft, er een fout komt: "end of file while reading from file "numbers.txt".
Hoe is het op te lossen?( dat hij op tijd stopt met het readen van file numbers.txt, right?)
Alvast bedankt!
Hieronder de code
PHP:
public class Try7
{
public static void main (String args[])
{
TextFile inName = new TextFile (true, "numbers.txt");
TextFile outName = new TextFile(false, "awesome.txt");
char ba;
char bb;
char bc;
while(!inName.eof())
{
inName.skipWhiteSpace();
ba = inName.readChar();
inName.skipWhiteSpace();
bb = inName.readChar();
inName.skipWhiteSpace();
bc = inName.readChar();
System.out.println("The three numbers are: " + ba + " " + bb + " " + bc);
System.out.println("Median of the three numbers = " + median(ba, bb, bc));
System.out.println("Average of the three numbers = " + average(ba, bb, bc));
System.out.println();
outName.println("The three numbers are: " + ba + " " + bb + " " + bc);
outName.println("Median of the three numbers = " + median(ba, bb, bc));
outName.println("Average of the three numbers = " + average(ba, bb, bc));
}
inName.close();
}
public static char median(char ab, char ac, char ad)
{
if((ab > ac && ac > ad) || (ad > ac && ab < ac))
return ac;
else if((ac < ad && ab > ad) || (ac > ad && ab < ad))
return ad;
else if((ab > ac && ab < ad || ab < ac && ab > ad))
return ab;
else
return ab;
}
public static double average(char ab, char ac, char ad)
{
String ab1 = String.valueOf(ab);
Double ab2 = Double.valueOf(ab1).doubleValue();
String ac1 = String.valueOf(ac);
Double ac2 = Double.valueOf(ac1).doubleValue();
String ad1 = String.valueOf(ad);
Double ad2 = Double.valueOf(ad1).doubleValue();
double average = (ab2 + ac2 + ad2) / 3;
return average;
}
}