2014-04-06 24 views
-2

我正在研究此應用程序,它從控制檯讀取一組int s,然後爲每個獨特的int創建一張地圖。然後計算該輸入發生的次數並打印出有序的計數。這是我迄今爲止得到的,並且從這裏前進很難。在java中使用地圖

package examPrep; 

import java.awt.List; 
import java.awt.Point; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.Map; 
import java.util.Scanner; 
import java.util.Set; 

import javax.swing.text.html.HTMLDocument.Iterator; 

public class mapThatReadsInts { 

    public static void main(String[] args) { 
     // This is based on the problem she gave in class 

     Scanner input = new Scanner(System.in); 

     System.out.println("Please Enter a Integer"); 
     int inputValue = input.nextInt(); 

     HashMap<Integer, Integer> numberMap = new HashMap<Integer, Integer>(); 

     numberMap.put(inputValue, inputValue); 

     System.out.println("Size of map " + numberMap.size()); 
    } 
} 

我知道我必須在某處使用一個ArrayList,並且還需要一個for循環來遍歷每個輸入。我只是很難找出如何做到這一點。任何形式的幫助,將不勝感激。謝謝。 :)

回答

1

我猜,這是家庭作業,所以我不想過於詳細...

  1. 想必這將是在一個循環中不知何故,在這裏用戶可以輸入多個整數。你希望在該循環外面創建(「新」)HashMap,而不是在現在看起來好像的地方。否則它只會保存最近的整數。

  2. 在那個循環中,如果整數已經在HashMap中,那麼您需要以與第一次輸入時不同的方式處理。考慮一下。

  3. 由於您想按順序打印出來,請使用TreeMap,而不是按排序順序排列它們。

希望這可以讓你沿着正確的道路開始多一點...

+0

感謝。我會嘗試一下。 – user3504306