コンピュータに英単語と訳語を覚えさせておいて、調べたい英単語を入力して対応する訳語が表示されるようにしておくと、コンピュータを英和辞典として使うことができます。
ここではたくさんのデータを記憶させるために一番基本的な「配列」を使います。
String[] words = { "blue", "green", "red", "white", "yellow" };
これで次のような対応が付けられます
words[0] | words[1] | words[2] | words[3] | words[4] |
blue | green | red | white | yellow |
この配列の要素数は words.length で調べることができます。0〜4 なら 5 です。
String[] imi = { "青", "緑", "赤", "白", "黄" };
これで次のような対応が付けられます
imi[0] | imi[1] | imi[2] | imi[3] | imi[4] |
青 | 緑 | 赤 | 白 | 黄 |
1. wordsの配列の中から調べたい英単語を見つけ出す。⇨2番にあります。
2. imiの2番を取り出して表示する。⇨赤が表示されます。
wordsの配列の中から調べたい英単語を見つけ出す方法はいくつかあります。 コンピュータにその方法を教えるには、手順を細かく指示する必要があります。この手順をアルゴリズムといいます。
配列の中から調べたい英単語を見つけ出す方法で一番簡単なのは単純前方探索です。
配列の中から英単語をひとつずつ取り出しては、探しているものと同じか調べていくというアルゴリズムです。
そのプログラムです。
public class Jiten01 { public static void main( String[] args ) { String[] words = { "blue", "green", "red", "white", "yellow" }; String[] imi = { "青", "緑", "赤", "白", "黄" }; String s; s = javax.swing.JOptionPane.showInputDialog("検索する英単語を入れてください"); for ( int i=0 ; words.length>i ; i++ ){ if ( s.equals(words[i]) ){ System.out.println( words[i]+" : "+imi[i] ); break; } }//forの終わり }//mainの終わり }//classの終わり
コンパイルと実行は次のようにします。
$ javac Jiten01.java $ java Jiten01 (ダイアログがでます。redと入力したとすると) red : 赤 $
単語が見つからない時に「見つかりません」と報告するようにしてみます
public class Jiten02 { public static void main( String[] args ) { String[] words = { "blue", "green", "red", "white", "yellow" }; String[] imi = { "青", "緑", "赤", "白", "黄" }; String s; s = javax.swing.JOptionPane.showInputDialog("検索する英単語を入れてください"); boolean atta=false; for ( int i=0 ; words.length>i ; i++ ){ if ( s.equals(words[i]) ){ System.out.println( words[i]+" : "+imi[i] ); atta=true; break; } }//forの終わり if ( atta==false ) System.out.println( s + " は見つかりません" ); }//mainの終わり }//classの終わり
コンパイルと実行は次のようにします。
$ javac Jiten02.java $ java Jiten02 (ダイアログがでます。blackと入力したとすると) black は見つかりません $
boolean はintと同様に変数の型で、trueとfalseのどちらかの値しかとらない変数です。
ifのあとにさせる命令が1つだけの時は { } を省略できます。