職業訓練校で習ったJavaの練習問題をRubyに変換してみた。-キーボード入力編-

訓練校でJavaを習っているので、復習も兼ねて、
同じ動作をRubyで記述すると、どうなるのか考えてみます。
Rubyを知っていて、Javaについて知りたい人、
もしくは、Javaを知っていて、Rubyについて知りたい人の
お役に立てればと思います。

基本コードとなるJavaコードは訓練校の先生が書いたものを参考にしているので、
めちゃくちゃ綺麗なコードです。
なので、どんなコードがいいコードなのか知りたい人も参考にしてみてください。
Rubyのコードはヒトウレビトが書いたコードなので、
こう書いた方がスマートだよ!って意見ありましたら、コメントお願いします。
※Javaのscanner.next()がRubyのgetsと同じ意味になります。

例題4

数量と単価を整数で入力して、金額を求めて表示しなさい。

Javaのコード

import java.util.Scanner;

public class Question4 {
   public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int su, tanka;

        System.out.print("数量を入力してください>"); 
        su = scanner.nextInt();
        System.out.print("単価を入力してください>");
        tanka = scanner.nextInt();

        System.out.println("金額は、 " + su * tanka + "です");      

   }
}

Rubyのコード

puts("数量を入力してください")
su = gets.to_i
puts("単価を入力してください")
tanka = gets.to_i

puts("金額は#{su * tanka}です")


例題5

金額を入力し、金種を表示しなさい。

Javaのコード

import java.util.Scanner;

public class Question5 {
  public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      int kin, zan;

      System.out.print("金額を入力してください>");
      kin = scanner.nextInt();    
      zan = kin;

      System.out.println(kin + "の金額は、");
      System.out.println("一万円札が" + zan / 10000 + "枚");
      zan = zan % 10000;
      System.out.println("五千円札が" + zan / 5000 + "枚");
      zan = zan % 5000;
      System.out.println("二千円札が" + zan / 2000 + "枚");
      zan = zan % 2000;
      System.out.println("千円札が" + zan / 1000 + "枚");
      zan = zan % 1000;
      System.out.println("五百円玉が" + zan / 500 + "枚");
      zan = zan % 500;
      System.out.println("百円玉が" + zan / 100 + "枚");
      zan = zan % 100;
      System.out.println("五十円玉が" + zan / 50 + "枚");
      zan = zan % 50;
      System.out.println("十円玉が" + zan / 10 + "枚");
      zan = zan % 10;
      System.out.println("五円玉が" + zan / 5 + "枚");
      zan = zan % 5;
      System.out.println("一円玉が" + zan + "枚です");
  }
}

Rubyのコード

puts("金額を入力してください>")
kin = gets.to_i
zan = kin

puts("#{kin}の金額は、")
puts("一万円札が#{zan / 10000}枚")
zan = zan % 10000
puts("五千円札が#{zan / 5000}枚")
zan = zan % 5000
puts("二千円札が#{zan / 2000}枚")
zan = zan % 2000
puts("千円札が  #{zan / 1000}枚")
zan = zan % 1000
puts("五百円玉が#{zan / 500}枚")
zan = zan % 500
puts("百円玉が  #{zan / 100}枚")
zan = zan % 100
puts("五十円玉が#{zan / 50}枚")
zan = zan % 50
puts("十円玉が  #{zan / 10}枚")
zan = zan % 10
puts("五円玉が  #{zan / 5}枚")
zan = zan % 5
puts("一円玉が  #{zan}枚です")

次回は型変換編です。

この記事が気に入ったらサポートをしてみませんか?