0
所以我對這個方案(顯然功課)工作:幫助與需要讀取數據文件和輸出分數程序
在跳水比賽中,每個選手的得分是通過降低最低和最高計算分數 ,然後添加剩餘分數。編寫一個程序,讀取提供的數據文件,格式爲 ,如下表所示。對於每位潛水員使用上述 得分規則輸出潛水員的姓名和總分。將每位潛水員的總得分格式化爲小數點後兩位。例如,下面的陳若琳 的輸出是:陳若琳 - 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());
}
}
}
我絕不是程序員,我的頭因看代碼而痛苦不堪。我的問題是:我怎樣才能正確讀取分數。名稱輸出的很好,但分數基本上是一串亂碼。我錯過了什麼導致了這個問題?
任何幫助將是偉大的。謝謝。
我不確定我關注。它現在打印出所有的分數,但它沒有讀取所有的分數?我認爲,因爲它只讀取第一條記錄,所以我不能根據個人潛水員添加分數? – Alex 2011-05-17 23:57:38
你必須做一個循環來讀取每個驅動程序的所有分數。您還必須將各個分數相加才能獲得總分。 – Marcelo 2011-05-18 01:13:05