Итак, я работаю над этой программой (очевидно, домашнее задание):
В соревнованиях по прыжкам в воду каждый участник рассчитывает, отбрасывая самые низкие и самые низкие оценки.
а затем добавление оставшихся баллов. Напишите программу, которая читает предоставленный файл данных в формате
изображено в следующей таблице. Для каждого дайвера выведите имя и общую оценку дайвера, используя приведенные выше
правила подсчета очков. Отформатируйте общий счет каждого дайвера до двух десятичных знаков. Так, например, вывод для
Чен Руолин ниже будет: Чен Руолин - 56,90 балла.
Файл данных:
Chen Ruolin 9.2 9.3 9 9.9 9.5 9.5 9.6 9.8
Emilie Heymans 9.2 9.2 9 9.9 9.5 9.5 9.7 9.6
Wang Xin 9.2 9.2 9.1 9.9 9.5 9.6 9.4 9.8
Paola Espinosa 9.2 9.3 9.2 9 9.5 9.3 9.6 9.8
Tatiana Ortiz 9.2 9.3 9 9.4 9.1 9.5 9.6 9.8
Melissa Wu 9.2 9.3 9.3 9.7 9.2 9.2 9.6 9.8
Marie-Eve Marleau 9.2 9.2 9.2 9.9 9.5 9.2 9.3 9.8
Tonia Couch 9.2 9 9.1 9.5 9.2 9.3 9.4 9.6
Laura Wilkinson 9.7 9.1 9.3 9.4 9.5 9.4 9.6 9.2
Класс дайвера:
import java.util.Vector;
public class Diver
{
private String firstName;
private String lastName;
private Vector scores;
public Diver()
{
firstName = "";
lastName = "";
scores = new Vector();
}
public Diver(String firstName, String lastName, double... scores)
{
this.firstName = firstName;
this.lastName = lastName;
this.scores = new Vector();
for (double score : scores)
{
this.scores.add( score );
}
}
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String toString()
{
return firstName + " " + lastName + scores.toString();
}
}
Программа тестирования дайвера:
import java.io.*;
import java.util.*;
class TestDiver
{
public static void main(String[] args)
{
try {
Scanner scanner = new Scanner(new File("diving_data.txt"));
scanner.useLocale(Locale.US);
double[] scores = new double[8];
while (scanner.hasNext())
{
String firstName = scanner.next();
String lastName = scanner.next();
System.out.println("Diver: " + firstName + " " + lastName + " " + scores);
double min = Double.MIN_VALUE;
double max = Double.MAX_VALUE;
for (int i = 0; i < scores.length; i++)
{
scores[i] = scanner.nextDouble();
}
Diver diver = new Diver(firstName, lastName, scores);
}
scanner.close();
}
catch (Exception e)
{
System.out.println("Problem: " + e.getMessage());
}
}
}
Я ни в коем случае не программист, и у меня болит голова от просмотра кода. Мой вопрос заключается в следующем: как мне заставить его правильно читать результаты. Имена выводятся нормально, но в основном это набор искаженных символов. Что мне не хватает, что вызывает эту проблему?
Любая помощь будет отличной. Спасибо.