並列抵抗の計算

  1. 目的

    「関数」を用いて二つの抵抗を並列接続したときの合成抵抗を求めます。

  2. 手法

    1. キーボードからの読み込み
      キーボードから文字を読み込むには、InputStreamReader() クラスを用います。入力を System.in とするとキーボードからの読み込みになります。入力の訂正機能を生かすにはさらに BufferedReader クラスを利用します。
      まとめますと、

      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

      で、reader を作成し、reader.readLine() でキーボードからの1行を取得します。
      入出力クラスを利用する場合、先頭に

      import java.io.*;

      が必要です。これは、入出力関連クラスの関数を使用する旨の宣言になります。

    2. 整数変換
       文字列 cs を、整数の数値に変換し変数r1に代入するには、

       r1 = Integer.parseInt(cs);

      とします。cs に reader.readLine() を指定すれば、キーボードからの文字を整数に変換できます。

    3. エラー処理
       入出力処理には、try ブロックによるエラー処理が必要です。

      try {

         } catch( Exception e ){ System.out.println("キーボード読み込み失敗");}

      で、try の次のブロック {  } で入出力のエラーが発生すると、catch に続くブロック が実行されます。

  3. プログラム

    1. プログラム

      //二つの抵抗の並列合成値を求める
      //キーボードから整数を読む
      
      import java.io.*; 
       
      public class regs
      
      {
      //並列抵抗値の計算
        public static int preg(int r1, int r2)
        {
        return (r1*r2)/(r1+r2);
        }
      
        public static void main(String[] args)
        {
        int r1=0,r2=0,r3,ra,rb;
      
        try{
      
          BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
          System.out.print("抵抗値を入力:");
          r1 = Integer.parseInt(reader.readLine());
          System.out.print("抵抗値を入力:");
          r2 = Integer.parseInt(reader.readLine());
      
        } catch( Exception e ){ System.out.println("キーボード読み込み失敗");}
      
        ra=preg(r1,r2);//並列値計算
      
        System.out.println(""+r1+" と "+r2+"の並列抵抗値 = "+ ra);
        }
      
      }

    2. 実行結果

      E:\java\sample\root>java regs
      抵抗値を入力:23
      抵抗値を入力:51
      23 と 51の並列抵抗値 = 15