私のインストラクターが私に与えた宿題の1つは野球統計プログラムでした。これはstats.datというファイルから読み込まれます。このファイルには野球選手の名前の名前とバットにあったときの出来事のリストが含まれています。それは、彼らの名前とアウト(o)、ヒット(h)、散歩(w)、およびそれらを持っているハエの量を読み取り、プリントします。これは、ファイルが含まれているものです:ファイルから統計を読む
Willy Wonk,o,o,h,o,o,o,o,h,w,o,o,o,o,s,h,o,h
Shari Jones,h,o,o,s,s,h,o,o,o,h,o,o,o
Barry Bands,h,h,w,o,o,o,w,h,o,o,h,h,o,o,w,w,w,h,o,o
Sally Slugger,o,h,h,o,o,h,h,w
Missy Lots,o,o,s,o,o,w,o,o,o
Joe Jones,o,h,o,o,o,o,h,h,o,o,o,o,w,o,o,o,h,o,h,h
Larry Loop,w,s,o,o,o,h,o,o,h,s,o,o,o,h,h
Sarah Swift,o,o,o,o,h,h,w,o,o,o
Bill Bird,h,o,h,o,h,w,o,o,o,h,s,s,h,o,o,o,o,o,o
Don Daring,o,o,h,h,o,o,h,o,h,o,o,o,o,o,o,h
Jill Jet,o,s,s,h,o,o,h,h,o,o,o,h,o,h,w,o,o,h,h,o
は、これまでのところ、私はかなりの各行が何をしているかを理解していないにもかかわらず、ダウン基本的な考え方を持っている(私は私のクラスがある本の中で、プログラムのいくつかのコードを修正しました読み込みは、テキストファイルにあるURLを印刷し、/で区切られたURLの各部分を出力します。私はプログラムでプレイヤーの名前を印刷するようにしていますが、ヒット、アウト、ウォーク、そしてハエを犠牲にする方法を印刷する方法がわかりません。私は(
import java.util.Scanner;
import java.io.*;
public class BaseballStats
{
public static void main(String [] args) throws IOException
{
int hit = 0, walk = 0, sac = 0, out = 0, length = 0, wholeLength = 0;
Scanner fileScan, lineScan, statScan;
String fileName, playerName, line, stats, playerStats;
Scanner scan = new Scanner(System.in);
System.out.println("Enter the name of the file: ");
fileName = scan.nextLine();
fileScan = new Scanner(new File(fileName));
while (fileScan.hasNext())
{
System.out.println();
line = ("Player: " + fileScan.nextLine());
wholeLength = line.length();
lineScan = new Scanner(line);
lineScan.useDelimiter(",");
stats = lineScan.next();
statScan = new Scanner(stats);
statScan.useDelimiter(",");
while (statScan.hasNext())
{
System.out.println(statScan.next());
length = stats.length() - 1;
for (int i = 0; i < length; i++)
{
if (stats.charAt(i) == 'h')
hit++;
else if (stats.charAt(i) == 'o')
out++;
else if (stats.charAt(i) == 'w')
walk++;
else if (stats.charAt(i) == 's')
sac++;
}
}
System.out.println("Hits: " + hit + "\nOuts: " + out + "\nWalks: " + walk + "\nSacrifice flies: " + sac);
}
}
}
:これまでのところ、それはラインのうち1つの文字を読んでいる、それは次のプレイヤーにダウンしてから2、3出力し、などここに私はこれまでのところ、それを持っているコードです私のコードの最後の文の最後の部分がエディタに正しく表示されるのは苦労します。私は何が間違っているのか疑問に思っています。正しい軌道に乗せてくれるものはありますか?
forループの前に統計情報を印刷してください。ヒントが表示されることがあります。 – Rickard
個人的には、私は 'line.split( "、")'を使用し、結果の配列で動作します。 –