前提・実現したいこと
計算(+-/*)を用いて計算結果を0に導くプログラムを作成しています。
発生している問題・エラーメッセージ
例)int型なので15/2が7になってしまい通ってしまいます。
小数点の出る計算をはじきたいのですが分かりません
該当のソースコード
import java.util.Scanner;
public class Janken {
public static void main(String[] args) {
System.out.println("---------------------------------------------------------------------");
System.out.println(" 計算脳トレ");
System.out.println("---------------------------------------------------------------------");
System.out.println();
System.out.println("==ルール説明==");
System.out.println("足す引く掛ける割るを使って0にしよう");
System.out.println();
System.out.println("---------------------------------------------------------------------");
System.out.println( "ゲーム開始");
System.out.println("---------------------------------------------------------------------");
Scanner scanner = new Scanner(System.in); //親の数字を出す int ranNum = new java.util.Random().nextInt(50)+51; System.out.println("最初の数字は" + ranNum + "です。"); int keisan; while(ranNum != 0 ) { //計算用の数字を出す int subNum = new java.util.Random().nextInt(9)+1; System.out.println("今回の計算に使う数字は" + subNum + "です"); System.out.println("計算に使う文字を入力してください" + ranNum + "0:+ 1:- 2:* 3:/" + subNum); keisan = Integer.parseInt(scanner.nextLine()); switch(keisan) { case 0: ranNum = ranNum + subNum; System.out.println(ranNum); break; case 1: ranNum = ranNum - subNum; System.out.println(ranNum); break; case 2: ranNum = ranNum * subNum; System.out.println(ranNum); break; case 3: ranNum = ranNum / subNum; System.out.println(ranNum); break; default: System.out.println("選択肢に無いものが選ばれました"); break; } System.out.println("計算結果は" + ranNum + "です。"); } }
}
試したこと
補足情報(FW/ツールのバージョンなど)
eclipseを使用しています。