最初に最大公約数を求めるクラスを定義して、それを継承して最小公倍数を求めるプログラムを作ったのですがコンパイルはできても実行するとうまく作動しません。 理想の実行例は以下の通りです。 1st ? 12 2nd ? 8 Cookie=4 Late=24 ですが、1st? と 2nd? に数値を入力後に「Exception in thread "main" java.lang.ArithmeticException: / by zero」というエラーがどうしても出てきます。 なにが原因なのかさっぱり分からなくなり完全に詰まってしまいました・・・。 どなたか解る方がいらっしゃいましたら、どうか助けて下さい。 書いたソースコードは以下の通りです。 import java.io.*; class Cookie{ private int aa, bb; Cookie(int x, int y){ aa = x; bb = y; } public int cookie(){ int a = aa, b = bb; int r; while(b > 0){ r = a%b; a = b; b = r; } return a; } } class ChocoLate extends Cookie{ private int i,r; ChocoLate(int x, int y){ super(x,y); i = (x * y) /r; } public int late(){ return i; } } class sample{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("1st?"); String str1 = br.readLine(); System.out.print("2nd?"); String str2 = br.readLine(); int a = Integer.parseInt(str1); int b = Integer.parseInt(str2); ChocoLate lg = new ChocoLate(a,b); System.out.println("Cookie=" + lg.cookie()); System.out.println("Late=" + lg.late()); } }
↧