這裏我試圖根據用戶輸入從哈希映射中檢索值和鍵。處理錯誤輸入
這裏我要求用戶從鍵盤輸入數值。後來取決於用戶輸入,我從哈希映射中檢索Value或Key。
截至目前它工作正常。但我想處理錯誤情況。
E.g:
- 如果什麼用戶提供比M/N或Q其他在第一的System.out.println()語句。
- 如果用戶無效主號碼等等。
像這樣我想在處理System.out.println()語句中的用戶輸入後處理所有可能的錯誤條件。
/* *要更改此模板,請選擇工具|模板 *並在編輯器中打開模板。 */ package cricketpur;
import java.lang.*;
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
HashMap<String, String> streetno = new HashMap<String, String>();
streetno.put("1", "Sachin Tendulkar");
streetno.put("2", "Dravid");
streetno.put("3", "Sehwag");
streetno.put("4", "Laxman");
streetno.put("5", "Kohli");
Scanner s = new Scanner(System.in);
String a;
String inp;
for (;;) {
System.out.println("Enter M/N and Q to quit:");
a = s.nextLine();
if ((a == null ? "M" == null : a.equals("M")) || a.equals("m")) {
System.out.println("Enter the Main number:");
inp = s.nextLine();
} else if ((a == null ? "Q" == null : a.equals("Q")) || a.equals("q")) {
break;
} else {
System.out.println("Enter the Street name:");
inp = s.nextLine();
}
for (Map.Entry<String, String> entry : streetno.entrySet()) {
if (inp.equals(entry.getKey())) {
System.out.println(entry.getValue());
break;
} else if (inp.equals(entry.getValue())) {
System.out.println(entry.getKey());
break;
}
}
}
}
}
出於興趣,這是什麼應該做的:'(一== NULL 「M」 == NULL:a.equals( 「M」))|| a.equals( 「M」)'? – NPE
這種情況只是檢查它是否是大寫的M或小的m ..就是這樣..如果滿足一個條件中的任何一個,它會進入if條件中。 –