3

私はJavaが初めてで、まだJavaのやり方を学ぼうとしています。今日、私の先生は Java で BMI 計算機を作る課題を出しました。手順の 1 つは、BMI カテゴリを表示することです。したがって、ユーザーはそれを見て、自分がどこに立っているかを確認できます。他のすべてを完了しましたが、問題が発生しています。

スクリプトは次のとおりです。

import java.util.Scanner;

public class BMI {
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);

        double weight = 0.0;
        double height = 0.0;
        double bmi = 0.0;

        System.out.print("Enter your weight in pounds: ");
        weight = input.nextInt();

        System.out.print("Enter your height: ");
        height = input.nextInt();

        bmi = ((weight * 703)/(height * height));

        System.out.printf("Your BMI is", bmi);

        System.out.println("BMI VALUES");
        System.out.println("Underweight: Under 18.5");
        System.out.println("Normal: 18.5-24.9 ");
        System.out.println("Overweight: 25-29.9");
        System.out.println("Obese: 30 or over");
     }
    }

結果は次のとおりです。

Your BMI isBMI VALUES
Underweight: Under 18.5
Normal: 18.5-24.9 
Overweight: 25-29.9
Obese: 30 or over

私は何を間違っていますか、どうすれば修正できますか?

4

9 に答える 9

13

bmi(および行末記号)のプレースホルダーを忘れました:

System.out.printf("Your BMI is %f\n", bmi);

参照用のフォーマット構文ガイドを次に示します。

于 2013-08-27T21:44:19.217 に答える
9

これを試して:

System.out.printf("Your BMI is %f\n", bmi);

次のように印刷することもできます。

System.out.println("Your BMI is " + bmi);
于 2013-08-27T21:44:16.813 に答える
5

を使用している間はprintf、次のこともできます。

System.out.println("Your BMI is " + bmi);
于 2013-08-27T21:44:43.530 に答える
1

理想的には、float / double を読み取り可能な形式で出力する必要があります 通常、BMI 値は小数点以下 2 桁まで測定されます

System.out.format("Your BMI is %.2f%n",bmi);
于 2013-08-27T22:51:16.300 に答える
0

おそらくより多くのコーディングですが、 JOptionPane を使用できます

input = JOptionPane.showInputDialog("What is you weight in pounds?");
        weight = Double.parseDouble(input);

        input = JOptionPane.showInputDialog("What is your hight is inches?");
        height = Double.parseDouble(input);
于 2014-11-13T03:38:40.580 に答える
0

変数型宣言 (double) とユーザー入力型 (nextInt) の宣言が一致しません。変数型を double として維持する場合は、nextDouble を入力型として使用します。

于 2014-12-08T00:27:26.567 に答える
-2

A: それbmi = ((weight * 703)/(height * height));が正しいかどうかはわかりません。

私はあなたのために働くかもしれない式に出くわしました BMI = ((weight/(height * height))* 10000;

B: System.out.printf(“Your BMI is”, bmi);必要ありません System.out.prinln( “ Your BMI is “ + BMI);

私はそれがあなたのためにうまくいくことを願っています

于 2016-06-09T15:47:17.293 に答える