このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
構造体配列を使用した Java 電話帳アプリケーションの作成
この例では、MATLAB® 関数を呼び出して構造体配列を変更する Java® パッケージを作成し、電話帳アプリケーションを実装します。
ファイル
| MATLAB 関数 | makephone.m |
| MATLAB 関数の場所 | |
| Java コードの場所 | |
手順
MATLAB に付属している
PhoneExampleフォルダーを作業フォルダーにコピーします。copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','PhoneExample'),'PhoneExample')
MATLAB コマンド プロンプトで、作業フォルダー内の新しい
PhoneExample\PhoneDemoCompサブフォルダーに移動します。関数
makephone.mを確認します。function book = makephone(friends) book = friends; for i = 1:numel(friends) numberStr = num2str(book(i).phone); book(i).external = ['(508) 555-' numberStr]; end
この関数は、構造体配列を入力として受け取り、それを変更してから、変更後の配列を出力として提供します。
次の情報を使用して、Java パッケージ コンパイラ アプリまたは
compiler.build.javaPackageで Java パッケージをビルドします。フィールド 値 Java パッケージ名 phonebookdemoクラス名 phonebookコンパイルするファイル makephone.mたとえば、
compiler.build.javaPackageを使用している場合は、以下を入力します。buildResults = compiler.build.javaPackage('makephone.m', ... 'PackageName','phonebookdemo', ... 'ClassName','phonebook');
詳細については、Java パッケージの生成と Java アプリケーションのビルドの手順を参照してください。
MATLAB 関数にアクセスするアプリケーションのソース コードを記述します。
この例のサンプル アプリケーションは
PhoneExample\PhoneDemoJavaApp\getphone.javaにあります。プログラムにより次が実行されます。
例の電話帳データを表す構造体配列を
MWStructArrayを使用して作成する。プロッター クラスを
thePhonebookオブジェクトとしてインスタンス化する:thePhonebook = new phonebook();makephoneメソッドを呼び出し、追加フィールドを追加することで構造体の変更コピーを作成する:result = thePhonebook.makephone(1, friends);try-catchブロックを使用して例外をキャッチして処理する。
MATLAB で、
PhoneExample\PhoneDemoJavaAppフォルダーに移動します。生成された
phonebookdemo.jarパッケージをこのフォルダーにコピーします。たとえば、
compiler.build.javaPackageを使用した場合は以下を入力します。copyfile(fullfile('..','PhoneDemoComp','phonebookdemojavaPackage','phonebookdemo.jar'))
コマンド プロンプト ウィンドウで、
cdを使用してPhoneDemoJavaAppフォルダーに移動します。javacを使用してgetphoneアプリケーションをコンパイルします。Windows® の場合、次を入力します。
javac -classpath "matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\phonebookdemo.jar getphone.javaUNIX® の場合、次を入力します。
javac -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./phonebookdemo.jar getphone.java
は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Linux® でのパスはmatlabroot/usr/local/MATLAB/R2025aのようになります。getphoneアプリケーションを実行します。Windows の場合、次を入力します。
java -classpath .;"matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\phonebookdemo.jar getphoneUNIX の場合、次を入力します。
java -classpath .:"matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./phonebookdemo.jar getphoneメモ
アプリケーションを Mac 64 ビット プラットフォームで実行する場合は、Java コマンドに
-d64フラグを追加する必要があります。
getphoneプログラムにより、次の出力が表示されます。Friends: 2x2 struct array with fields: name phone Result: 2x2 struct array with fields: name phone external Result record 2: Mary Smith 3912 (508) 555-3912 Entire structure: Number of Elements: 4 Dimensions: 2-by-2 Number of Fields: 3 Standard MATLAB view: 2x2 struct array with fields: name phone external Walking structure: Element 1 name: Jordan Robert phone: 3386 external: (508) 555-3386 Element 2 name: Mary Smith phone: 3912 external: (508) 555-3912 Element 3 name: Stacy Flora phone: 3238 external: (508) 555-3238 Element 4 name: Harry Alpert phone: 3077 external: (508) 555-3077
参考
compiler.build.javaPackage | Java パッケージ コンパイラ
