2016-09-16 4 views
1

こんにちは私はユーザーに単語を入力させて価格を教える2次元配列を作成しました。どのように私はforループを使用してこのプログラムを改善することができますか?今後のお返事ありがとうございます。悪い編集をおかけして申し訳ありません。2次元配列でこれを改善する方法

String[][] the ={ 
    {"Best Health Basic","R450.00"}, 
    {"Best Health Basic Plus","R575.00"}, 
    {"Best Health Premium","700.00"}, 
    {"Best Health Premium Plus","950.00"}}; 

String INPUT = JOptionPane.showInputDialog("Enter one of the following\nBest Health Basic\nBest Health Basic Plus\nBest Health Premium\nBest Health Premium Plus"); 

if (the[0][0].equalsIgnoreCase(INPUT)) { 
    System.out.println("found it " + the[0][1]); 
    return; 
} 

if (the[1][0].equalsIgnoreCase(INPUT)) { 
    System.out.println("found it " + the[1][1]); 
    return; 
} 

if (the[2][0].equalsIgnoreCase(INPUT)) { 
    System.out.println("found it " + the[2][1]); 
    return; 
} 

if (the[3][0].equalsIgnoreCase(INPUT)) { 
    System.out.println("found it " + the[3][1]); 
    return; 
} 

答えて

0

0からあなたの配列の長さにループにfor-loopを使用してください。変数(the.length = 4)の長さを使用することをお勧めします。

Map<String, String> map = new HashMap<>(); 
map.put("Best Health Basic","R450.00"); 
map.put("Best Health Basic Plus","R575.00"); 
map.put("Best Health Premium","700.00"); 
map.put("Best Health Premium Plus","950.00"); 

System.out.println("found it " + map.get(INPUT)); 
+0

ありがとうございました! –

+0

ループを中断するために 'return'を使うことはお勧めしません。 '休憩 'はもっと理にかなっています。 –

+0

コンサインこの質問に答えるために、有益な答えの1つをマークしてください。 –

0

あなたが行うことができ、何かのように:

for (int i = 0; i < theArrayWithPrices.length; i++) { 
    if (theArrayWithPrices[i][0].toLowerCase().contains(userInput.toLowerCase())) { 
    System.out.println("Product " + theArrayWithPrices[i][0] + " costs " + theArrayWithPrices[i][1]); 
    } 
} 

注:

ペア value-keyを格納しかし、より良い練習が HashMapを使用することでしょう

for (int i=0; i<the.length; i++) { 
    if (the[i][0].equalsIgnoreCase(INPUT)) { 
     System.out.println("found it " + the[i][1]); 
     return; 
    } 
} 

  1. 配列 "the"を呼び出すと便利ではありません
  2. 変数INPUTを呼び出すと、Java命名規則に違反しています。だから、私は両方の変数にもっと多くの名前をつけました
  3. 私はString.contains()を使っていますか?本当にその人にはと正確にはと書いてありますか?その全長と栄光と?

正に、これは超基本的なものです。あなたは真剣にもっと自習をしたいと思っています。たとえば、Oracleから優秀なチュートリアルに目を向けると、 「基本」を通して作業します。

+0

この質問に私が示す例は、ユーザーが完全な単語を入力する必要があることを示しています。 @GhostCat –

+0

あなたのプログラムを改善する方法のヒントを教えてくれました。はい、私はそのループ以上のものを改善しました。しかし、あなたが初心者であっても。これらは唯一の示唆であることを理解する必要があります。あなたがそのようなものについて考えさせるために、あなたは知っています。 – GhostCat

+0

ああ、もちろん、どんな提案もあります!私はちょうどあなたがなぜ@ GhostCatという言葉の一部の代わりに完全な言葉を得たかったのか理由を教えてくれました –

関連する問題