すべてのリンクを確認しましたが、探しているものを取得できないようです。読み込む必要があるテキスト ファイルがあります。まず、テキスト ファイルの形式は次のとおりです。
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
int を int 変数に読み込む必要があります。これを count と呼びます。次に、同じ行にある実際の都市を配列に入れます。次の行では、[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);
}
}