魁!dcWORKS塾 〜エンジニア編 vol.2〜

こんにちは! dcWORKSでエンジニアをしているミネです。
弊社のエンジニアチームやデザインチームの実態をより詳しく知ってもらうべく始まった「魁!dcWORKS塾」エンジニア編 第2回をお届けしていきます!

魁!dcWORKS塾とは?

技術研修や勉強会など、それぞれで実際に取り組んでいるような内容を問題・課題の形式でご紹介します。
エンジニアの問題では解答や解決するためのポイントを、またデザインチームでは制作過程など、各チームの取り組みを具体的に紹介していきますのでお楽しみに!
BLOGを見てくださっているみなさんも一緒に楽しみながら取り組んでいただけると嬉しいです。

エンジニア編 第2回ということで前回に引き続き、弊社が運営しているプログラミングスクールのEngineersGateでも講師を務めるサトウ先生からの出題です。

人物紹介・サトウ先生
エンジニアズゲート講師。みんなから愛されるキャラクターとボディーの持ち主

問題

足し算の関数と同様の2つの引数を受け取り、引き算、掛け算、割り算を行う関数を作成してください。
作成した関数をmain関数で使用し、結果を標準出力で表示してください。
※各関数に渡す引数の値は、数値(int)であれば何でも良い。

みなさん、解けましたか?
解答は下記です!サトウ先生からのワンポイントアドバイスもあるのでぜひ参考にしてみてください。

解答例

package lesson_02.works_02;

/**
* 1.基礎構文(クラス、静的メソッド、動的メソッド)
* <p>
* 2.足し算の関数と同様2つの引数を受け取り<br>
* 引き算、掛け算、割り算を行う関数を作成してください。<br>
* 作成した関数をmain関数で使用し、結果を標準出力で表示してください。<br>
* ※各関数に渡す引数の値は、数値(int)であれば何でも良い。
*
* @author tomo-sato
*/
public class Lesson_02_02 {
   /**
   * main関数
   *
   * @param args 起動引数
   */
   public static void main(String[] args) {
     int i = 10;
     int j = 2;

     int ans = add(i, j);
     System.out.println(i + " + " + j + " = " + ans);

     ans = sub(i, j);
     System.out.println(i + " - " + j + " = " + ans);

     ans = mlt(i, j);
     System.out.println(i + " * " + j + " = " + ans);

     ans = div(i, j);
     System.out.println(i + " / " + j + " = " + ans);
   }


   /**
   * 足し算を行います。
   *
   * @param i 第一引数
   * @param j 第二引数
   * @return i + j の結果を返します。
   */
   public static int add(int i, int j) {
     return i + j;
   }


   /**
   * 引き算を行います。
   *
   * @param i 第一引数
   * @param j 第二引数
   * @return i - j の結果を返します。
   */
    public static int sub(int i, int j) {
     return i - j;
    }


   /**
   * 掛け算を行います。
   *
   * @param i 第一引数
   * @param j 第二引数
   * @return i * j の結果を返します。
   */
   public static int mlt(int i, int j) {
     return i * j;
   }


   /**
   * 割り算を行います。
    *
   * @param i 第一引数
   * @param j 第二引数(※ゼロは指定できません。)
   * @return i / j の結果を返します。
   */
   public static int div(int i, int j) {
     if (j == 0) {
      throw new IllegalArgumentException("ゼロで割ることはできません。");
     }
     return i / j;
   }
}

サトウ先生によるワンポイントアドバイス

1. static キーワードの使い方
add、sub、mlt、divの各メソッド定義には static キーワードが付いています。
これは、メソッドが「静的メソッド」であることを示しています。
静的メソッドは、インスタンス化されていないクラスから直接呼び出すことができるメソッドです。
たとえば、addメソッドを呼び出すときは「Lesson_02_02.add(1, 2) 」のように書くことができます。

public static int add(int i, int j) {
   return i + j;
}

2. 引数の使用
add、sub、mlt、divの各メソッドは、それぞれ二つの引数を取ります。
この引数はメソッドが実行される際に値が代入され、i、j という名前でメソッド内部で使うことができます。
たとえば「add(1, 2) 」が呼び出された場合、i に 1 が代入され、j に 2 が代入されます。
そして、「i + j」が計算され、結果が呼び出し元に返されます。

3. 割り算メソッドの例外処理
divメソッドでは、割り算の際に分母が「0」の場合に「IllegalArgumentException」が投げられます。
これは、プログラムの実行中に問題が発生し、実行が中断されることを意味します。
この例外処理は、プログラムがクラッシュすることを防ぎ、プログラムが正常に動作することを保証するために重要な役割を果たします。

if (j == 0) {
   throw new IllegalArgumentException("ゼロで割ることはできません。");
}


以上で基礎的な文法についての問題は終了です。
今回の問題を通じて、関数の作り方や使い方、引数の受け渡し方など、Javaの基礎的な文法を学ぶことができたと思います。
プログラムの作成は一度や二度で完璧にできるものではないので、繰り返し実践することで理解を深め、慣れていくことが大切です。
ぜひ、ご自身でプログラム書いて、色々なパターンに対応できるようになってください!
今後もさまざまな問題を載せていくのでお楽しみに!

メンバー募集のお知らせ

dcWORKSでは一緒に働く仲間を常時募集しています。私たちと一緒に人々の心を動かすものを創りませんか?
今なら就職お祝い金プレゼントキャンペーンを実施中です。ぜひご応募ください。

興味がある方は以下からお気軽にご応募ください。

募集要項はこちら

ITエンジニアを目指したい方へ

dcWORKSではIT業界の慢性的な人材不足解消・20代人材のキャリアプラン創造のためEngineers Gateを運営しています。
Engineers Gateでは無料でITエンジニア(プログラマー・インフラエンジニア)の育成型就職サポートを実施しております。

・IT業界に興味があるがどうやったら就職できるのか
・ITの勉強方法がわからない
・独学で限界を感じている方 etc

上記の様な悩みをお持ちの方は以下からお気軽に相談してください。

詳細はこちら

お気軽に
お問い合わせください。

CONTACT