0

このテキストファイル(dis.txt)には次のものが含まれています。

    1="A" (Z75)(T118)(S140)
    2="B" (U85)(G90)(F211)(P101)
    3="C" (P138)(D120)(R146)
    4="D" (M75)

これらの数値は距離です。例AとZの間の距離は75です。

そして、Javaプログラムで(Z75)(T118)(S140)のようなこれらの距離や都市を読むつもりはありません。myMap.get( "A");を書いたように、HashMapを作成した後、HashMapは私の問題に適していると思います。結果は出さない(Z75)(T118)(S140)。私の問題を理解していただければ幸いです。

    import java.io.FileInputStream;
    import java.util.HashMap;
    import java.util.Properties;

    public class nodes {

    public static void main(String[] args) {

    Properties pro = new Properties();
    {

    try {
    pro.load(new FileInputStream("dis"));
    } catch (Exception e) {
    System.out.println(e.toString());
    }
    for (int i = 0; i <= 13; i++) {
    String abu = pro.getProperty("" + i);
    //System.out.println(abu);
    }
    HashMap<String, String> myMap = new HashMap<String, String>();
    myMap.get("A");
    myMap.get("B");
    myMap.get("C");
    myMap.get("D");


    System.out.println(myMap.get("A"));
    System.out.println(myMap.get("B"));
    System.out.println(myMap.get("C"));
    System.out.println(myMap.get("D"));


    }
    }

    }
4

1 に答える 1

1

もちろん、HashMapからデータを取得する前に、HashMapにデータを入力する必要があります。

各プロパティの値を読み取るループで、データをに配置しますMap。そして、常にabstractあなたのタイプを使用reference typeしてくださいLHSMapの代わりに使用してくださいHashMap

Map<String, String> myMap = new HashMap<String, String>();

for (int i = 1; i <= 13; i++) {  // Start loop from 1, as properties in txt file are from 1
    String abu = pro.getProperty("" + i);  

   // Split the string on space, and put 1st and 2nd element of array 
   // as `key-value` pair in HashMap
   String[] arr = abu.split(" ");
   myMap.put(arr[0], arr[1]);
}

// Now you can fetch the data
for (String str: myMap.keySet()) {
     System.out.println(myMap.get(str));
}
于 2012-11-23T21:05:12.597 に答える