ここでは、ユーザー入力に応じてハッシュマップから値とキーを取得しようとしています。エラー入力の処理
ここでは、ユーザーにキーボードから値を入力するよう依頼しました。また、ユーザーの入力に応じて、ハッシュマップから値またはキーのいずれかを取得します。
現在のところ、正常に動作しています。しかし、私はエラー条件を処理したい。
例えば:
- 、ユーザが第一のSystem.out.println()文でM/NまたはQ以外の何を与えれば。
- ユーザーがメインナンバーを無効にした場合など。
このように、ユーザーにSystem.out.println()ステートメントの入力を求めた後、すべてのエラー条件を処理したいと考えています。
/* ※このテンプレートを変更するには、[ツール|テンプレート *を開き、エディタでテンプレートを開きます。 */ パッケージ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;
}
}
}
}
}
これは何をすべきか: '(a == null?" M "== null:a.equals(" M "))|| a.equals( "m") '? – NPE
この条件は、それが大文字Mか小文字かどうかをチェックするだけです。それだけです。1つの条件のいずれかが満たされた場合、それはif条件の中に入ります。 –