2010-06-18 59 views
-1
import java.util.Scanner; 

public class Main extends Hashmap{ 

    public static void main(String[] args) { 
     Hashmap hm = new Hashmap(); 
     int x=0; 
     Scanner input = new Scanner(System.in); 
     do{ 
      System.out.print("Enter any integer value between 1 to 12: "); 
      x = input.nextInt(); 
     }while(x<=0 || x>12); 
     Scanner sc = new Scanner(System.in); 
     //int number; 


     do { 
      while (!sc.hasNextInt()) 
      { 
      System.out.println("That's not a number!"); 
      sc.next(); 
      } 
      x = sc.nextInt(); 
      }while(x>=0); 

     String month = hm.getEntry(x); 
     System.out.println(month); 




} 
    } 

這裏我需要限制用戶輸入英文字母。但它不工作。 請幫忙...我已經申請了一個不允許使用字母表的檢查。但它不能正常工作

+2

我不太有答案給你,而且一目瞭然...... 1.你爲什麼要擴展HashMap的?看起來你不需要那樣做。 2.你的變量「hm」沒有填充任何值,所以你得到「月」的最後兩行不起作用。 – 2010-06-18 05:38:54

+0

程序工作正常。只是檢查不起作用。 – 2010-06-18 05:54:04

回答

0
public static void main(String[] args) { 
    HashMap<Integer, String> hm = new HashMap<Integer, String>(); 
    /** 
    * Populate hashmap.. Your logic goes here 
    */ 
    Scanner sc = new Scanner(System.in); 
    int x; 
    System.out.println("Enter a number between 1 and 12"); 
    do { 
     while (!sc.hasNextInt()) { 
      System.out.println("That's not a number! Enter a number between 1 and 12"); 
      sc.next(); 
     } 
     x = sc.nextInt(); 
     String month = hm.get(x); 
     System.out.println("The corresponding month is " + month); 
    } while (x >= 0); 

} 

我覺得這是你想達到什麼..

+0

謝謝,但它仍然沒有按我想要的方式工作。 – 2010-06-18 08:43:52

+1

請具體說明。你想如何表現?準確地陳述問題描述。 – chedine 2010-06-18 09:09:57

+0

謝謝 我知道它有一些變化。 – 2010-06-18 09:17:05

0

首先,看看你的問題polygenelubricants comprehensive answer。我很確定,他在示例3中爲你解決了它。

然後,作爲用戶界面的替代設計:接受任何用戶輸入,驗證輸入,如果輸入不正確,請提供有用的消息並要求用戶再次輸入一個值。這很容易實現,用戶也應該對此感到滿意。

+0

問題尚未解決。 – 2010-06-18 06:36:18

相關問題