質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

2回答

692閲覧

除算のプログラムで困っています

ODAICHI23

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2020/05/07 02:42

編集2020/05/07 03:51

前提・実現したいこと

計算(+-/*)を用いて計算結果を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を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/05/07 02:44

JavaScriptにi、単なるint型はないです。何か前提事項がおかしい気もしますので、書いてみたコードも示していただければと思います。
kei344

2020/05/07 02:46

書かれている状況が再現するコード(HTML/JavaScript)を質問文にコードブロックで追記されたほうが回答を得やすいと思います。コードブロックは ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。 あと、質問タグが「JavaScript」になっていますが、「Java」の間違いでは?
kei344

2020/05/07 03:49

再掲:質問タグが「JavaScript」になっていますが、「Java」の間違いでは?
ODAICHI23

2020/05/07 03:52

ご指摘ありがとうございます。使い始めでまだ慣れていないです。
退会済みユーザー

退会済みユーザー

2020/05/07 06:04 編集

kei344さんが指摘しているように、コードは以下のように```で囲ってください。 ```Java ここにコードを記載 ``` なぜ```で囲うかは以下を参照 https://teratail.com/help/question-tips#questionTips3-7
guest

回答2

0

yambejpさんがやってることのJava版みたいですが…

keisan=3 の割算のときに余りが出るか出ないか一度確認してはいかがでしょうか?

if (ranNum % subNum != 0) { // 余りがある場合はここに入る // break;すればwhileまでいきます } // 余りがない場合はこちらまで。 // else句で分岐してもいいですね。

余りが出たときにどうはじくかは決めてください。

投稿2020/05/07 05:38

編集2020/05/07 05:40
kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

javascript

1const a=15; 2const b=2; 3const c=a%b===0?a/b:null; 4console.log(c);

投稿2020/05/07 03:27

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/05/07 03:30

あとは「小数点の出る計算をはじきたい」の仕様をどうするかです
ODAICHI23

2020/05/07 04:20

ごめんなさい。javascriptじゃなく、javaでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問