Rational Developer for System z
PL/I for Windows, Version 7.6, プログラミング・ガイド

Java main メソッドの作成

jPassString クラスには、クラスのインスタンスを生成して ネイティブ・メソッドを呼び出す main メソッドも含まれ ています。main メソッドは jPassString のインスタンスを生成し、pliShowString() ネイティブ・メソッドを呼び出します。

このサンプル・プログラムは、ストリングの入力をユーザーに促し、コマンド行からその値を読み込みます。この作業は、図 29 に 示す try/catch ステートメント内で行われます。

図 29. Java サンプル・プログラム #2 - ストリングの引き渡し
 // Read a string, call PL/I, display new string upon return
 import java.io.*;

 public class jPassString{

  /* Field to hold Java string                           */
  String myString;

  /* Load the PL/I native library                        */
  static {
          System.loadLibrary("passString");
  }

  /* Declare the PL/I native method                      */
  public native void pliShowString();

  /* Main Java class                                     */
  public static void main(String[] arg) {

    System.out.println(" ");

    /* Instantiate Java class and initilize string       */
    jPassString myPassString = new jPassString();
    myPassString.myString = " ";

    /* Prompt user for a string                          */
    try {
         BufferedReader in = new BufferedReader(
           new InputStreamReader(System.in));

         /* Process until 'quit' received                */
         while (!myPassString.myString.equalsIgnoreCase("quit")) {
           System.out.println(
             "From Java: Enter a string or 'quit' to quit.");
           System.out.print("Java Prompt > ");
           /* Get string from command line               */
           myPassString.myString = in.readLine();
           if (!myPassString.myString.equalsIgnoreCase("quit"))
             {
              /* Call PL/I native method                 */
              myPassString.pliShowString();
              /* Return from PL/I and display new string */
              System.out.println(" ");
              System.out.println(
                  "From Java: String set by PL/I is: "
                + myPassString.myString );
             }
         }
         }  catch (IOException e) {
         }
  }
 }

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)