私はすべてのリンクを見て、私が探しているものを得ることができません。 。私は、私は読む必要があるテキストファイル最初にテキストファイル形式があります:私はint型の変数にint型を読み取る必要がJavaでテキストファイルを解析する際の問題
3 STL NY Chi //all on one line
STL NY 575 //on its own line
NY Chi 550 //on its own line
STL Chi 225 //on its own line
を、我々は数えるそれを呼び出すと言います。同じ行の実際の都市を配列にします。次の行は、[STL NY] = 575のように、配列にマイレージが関連付けられている配列を読み込む必要があります。私は配列だけを使うことができます。ハッシュテーブル、リスト、スタック、キューはありません。ここに私がこれまでに得たものがあり、正直に言うとそれほどではありません。私は本当にこれについての "ハウツー"をかなり困惑しているので、私は実際にいくつかの助けを使うことができます。
import java.io.*;
import java.util.*;
public class P3 {
/**
* @param args the command line arguments
*/
public static int count;
public static void main(String[] args) {
try {
FileInputStream dataFile = new FileInputStream("Data.txt");
//BufferedReader br = new BufferedReader(new InputStreamReader(dataFile));
String line = br.readLine();
}
catch (IOException e) {
System.err.println ("Unable to open file");
System.exit(-1);
}
}
}
私はそこにきていると思うが、私は、エラーコード取得しています:「非静的変数都市は静的コンテキストから参照することはできません」私は印刷によって自分のコードをテストしようとしています。誰もがこの印刷で私を助けることができますか?私はそれが正しく行ったことを確認するために何が配列にあるのかを見たいと思います。ここに私のコードです:
package p3;
import java.io.*;
import java.util.*;
class citiesDist {
String cityOne;
String cityTwo;
int miles;
}
class city {
String cityName;
int numberLinks;
citiesDist[] citiesDists;
}
public class P3 {
city[] cities;
void initCity(int len) {
for (int i = 0; i < len; i++) {
cities[i] = new city();
}
}
void initCitiesDist (int index, int len) {
for (int i = 0; i < len; i++) {
cities[index].citiesDists[i] = new citiesDist();
}
}
void parseFile() throws FileNotFoundException, IOException {
FileInputStream fstream = new FileInputStream("Data.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
int numberCities = Integer.parseInt(br.readLine());
cities = new city[numberCities];
initCity(numberCities);
for (int i = 0; i < numberCities; i++) {
String line = br.readLine();
int numberLink = Integer.parseInt(line.split(" ")[1]);
cities[i].cityName = line.split(" ")[0];
cities[i].numberLinks = numberLink;
initCitiesDist (i, numberLink);
for (int j = 0; j < numberLink; j++){
line = br.readLine();
cities[i].citiesDists[j].cityOne = line.split(" ")[0];
cities[i].citiesDists[j].cityTwo = line.split(" ")[1];
cities[i].citiesDists[j].miles = Integer.parseInt(line.split(" ")[2]);
}
}
}
public static void main(String args[]) {
System.out.println("city" + cities.city);
}
}
1)* "すべてのリンクを見ました" * "parse text java"で返された約3740万ページを見ましたか?うわー、あなたは忙しかった。しかし、何百万人も見てみるのではなく、最初の10個を読んでみてください。2)あなたの質問は何ですか? –
出発点として、ファイルの各行から必要な情報を抽出する方法を知るために、 'String'のAPIを調べることをお勧めします。ここに投稿した内容以外の何かを実際に試しましたか? – darrengorman
真剣にアンドリュー?それが求められましたか?私はこのことをしばらくしてきた人々が、どこから始めたのかを忘れています。 –