JavaでBMI測定を作る方法とは?

このQ&Aのポイント
  • 初めまして!最近Javaを勉強し始めてみたのですが行き詰ってしまったので質問失礼します。今GUI(?)で『BMI測定』作ろうとしています。デザインは下記のようにしてみました。身長のラベル名が『sinlabel』、体重のラベル名が『tailabel』、BMI値のラベル名が『BMIti』です。体重と身長のラベルに数字を打ち込み『測定スタート』ボタンを押してBMI値のラベルに数値を表示させたいのですが『測定スタート』を押してどう表示させるかがわかりません。
  • BMIの計算式は[体重]/([身長]*[身長])です。
  • 解説と答えのプログラムを教えて頂けないでしょうか?よろしくお願いします。
回答を見る
  • ベストアンサー

BMI測定を作ろうとしているのですが…

初めまして! 最近Javaを勉強し始めてみたのですが行き詰ってしまったので質問失礼します。 今GUI(?)で『BMI測定』作ろうとしています。 デザインは下記のようにしてみました。 http://www.geocities.jp/inot90/bmi.JPG 身長のラベル名が『sinlabel』 体重のラベル名が『tailabel』 BMI値のラベル名が『BMIti』です。 体重と身長のラベルに数字を打ち込み『測定スタート』ボタンを押してBMI値のラベルに数値を表示させたいのですが『測定スタート』を押してどう表示させるかがわかりません。 BMIの計算式は[体重]/([身長]*[身長])です。 解説と答えのプログラムを教えて頂けないでしょうか? よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • love-less
  • ベストアンサー率60% (9/15)
回答No.2

じゃあ、昔作ったこれあげるから 解析して勉強しな import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class BmiCalclation extends AbstractSwing implements ActionListener { //テキスト入力用 private JTextField textField; //クリアボタン private JButton clearButton; //result表示用 private JLabel label; //ボタン格納用パネル private JPanel btnPanel; //クリアボタン表示名 private static final String CLEAR = "calclation"; //Windows Look&Feel protected static final String WINDOWS_LA = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; //Metal protected static final String METAL_LA = "javax.swing.plaf.metal.MetalLookAndFeel"; public BmiCalclation(final String frameTitle) { super(frameTitle); //各部品のインスタンス作成 textField = new JTextField(); label = new JLabel(" ");//pack用にパディング label.setHorizontalAlignment(JLabel.CENTER); clearButton = new JButton(CLEAR); btnPanel = new JPanel(); //ボタンをパネルに格納 btnPanel.add(clearButton); //パネル等をコンテンツ区画に格納 getContentPane().add(textField, BorderLayout.NORTH); getContentPane().add(label, BorderLayout.CENTER); getContentPane().add(btnPanel, BorderLayout.SOUTH); pack(); centering(this); //リスナー登録 clearButton.addActionListener(this); } public static void main(String[] args) { BmiCalclation swingEx = new BmiCalclation("TaskTimerText"); swingEx.setVisible(true); swingEx.setDefaultCloseOperation(EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent ae) { if (ae.getActionCommand().equals(CLEAR)) { int length = label.getText().length(); label.setText("入力文字は[" + length +"Byte]です"); } } public static void centering(final JFrame frameObject) { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frameObject.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frameObject.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); } }

参考URL:
http://www.javadrive.jp/
terunosuke
質問者

お礼

ありがとうございます。何とか動きました。 URLも張っていただき感謝です。参考にさせていただきます。

その他の回答 (1)

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.1

勉強をしているのであれば、全部答えを教えて貰うのではなく一つ一つ解決していきましょう。 で、分からないことにぶち当たってから初めて質問をすべきではないでしょうか。 「解説と答えのプログラムを教えて頂けないでしょうか?」っていうのはいわゆる丸投げといわれる質問方法です。 まずやりたいことを分解してみてください。 たとえば ・Java で GUI プログラミングをするための API ・ウィンドウを表示する方法 ・ボタンやラベルを配置する方法 ・ボタン押下のタイミングで計算ロジックを走らせる方法 ・BMI の計算式の Java での表現方法 ・計算結果を画面に反映させる方法 などです。 それぞれ勉強していってつまづいたら、端的な形の質問に落とし込みましょう。

terunosuke
質問者

お礼

申し訳ありません。自分で考えてあれこれやってたのですがまったく動きが見られずつい質問をしてしまいました。どう説明すればいいのかもわからず、あのような質問になってしまいました。 以後気をつけます。

関連するQ&A

  • BMIで痩せすぎの場合、どうすればいいですか?

    BMIを測定したところ、15.7でした。 身長は171で、体重は46の学生です。 あまりに痩せすぎているとは自分でも思うのですが、 どうすれば、体重が重くなるのか分かりません。 他の人とだいたい同じ量を食べていると自分では思っているのですが。 (もしかしたら、少ないかもしれません) BMIが低いと、病気になりやすかったり、死亡率も高くなると聞いたので心配です。 回答お願いします。

  • BMI18以下は痩せすぎ?

    最近知ったのですが、BMI18以下っ て痩せすぎなんですか? 私は20歳の女性で、身長162cm体重 43kgBMIは16.38です。 数字だけだとガリガリっぽいですが 見た目は普通に健康的です。 最近BMIについていろいろ調べていたのですが、他の質問やネットの記事などでBMI18以下はおかしいとか 痩せすぎている的な意見が多く見られ、驚きました。 私は今まで20年間生きてきてBMIが 18より上になったことがありません 。 今の身長で一番多かったときでも46 kg位です。 それっておかしいんでしょうか?BMIが低いと子供が産みにくいとかできにくいとかありますよね?健康的にはもっと体重を増やした方がいいんですか?

  • BMIの数値って全然アテにならないのでは?

    BMIの数値って全然アテにならないのでは? ※BMI=体重 ÷ 身長(m)の2乗 22前後が標準体重とされる。18.5以下が痩せ。25以上が肥満。 が基本です。 私は身長163cmで体重52kg(体脂肪8%)の標準体型ですが 理想体重は58kgと出ました。私が体脂肪15%の時ですら55kgです。 正直、163cmの身長で58kgってどんだけデブなんだよって思ったぐらいです。 実際に私と同じぐらいの身長で59kgの人いますが、デブです。お腹とかポッチャリしてます BMIの計算方法を考えた人ってデブ専の人なんじゃないでしょうか? 体重と体脂肪率をこまめに見てた方がよっぽど参考になると思うんですが・・・ そりゃ基準ってあるだろうけど、BMIの基準数値の体重って高すぎじゃないですかね?

  • BMIについて

    20歳の独身女性です。健康管理のため時々体重を測っているのですが、BMI数値は20.1で、「やや痩せ型」と出ます。ちなみに、私のサイズは163cm / B85cm(Dcup)W58cm H85cm / 体重53.4kg前後です。  ごく最近の折り込み広告に「美しく痩せる!。多くの体験者が目標体重に達成、理想のスリムボディに!」と書いてあり、身長160cm前後の人の体重が40kg前半の体重になっている写真が出ていました。  ちょっと興味があってタレントのプロフィールなども見たら大体似たような数値でした。これらのBMI数値を出してみると「激痩せ」「痩せすぎ」になってしまいます。  私は女性だからやっぱいスリムできれいでいたいという気持ちはあります(だいたい今の数値で満足しています)が、タレントの公表データ(?)や折り込みはちょっとオーバーというか、怪しいと思うのですが、どうなのでしょうか。

  • BMI値は幾らですか

    適性体重を判定する指標のBMI値。あなたの数値は如何。 計算方法は簡単です。 体重(Kg)÷ 身長(m)÷ 身長(m)です 計算例 65 ÷ 1.72 ÷ 1.72 ≒ 21.97 18.5未満は痩せすぎで25以上は太り過ぎだそうです。 因みに質問者は21.5でした(普通体重)

  • BMI

    プログラムについての質問です 以下のプログラム(java)の星の部分で BMI.java:9: シンボルを見つけられません。 シンボル: メソッド toString(double) 場所 : java.lang.Integer の クラス String msg=Integer.toString(num2/(num1*num1)); ^ エラー 1 個 というエラーがでます まだjavaを勉強しだしたばっかりなんですが、参考書を見てもさっぱりわかりません どなたかわかりやすく解説していただけませんか? 内容は身長と体重を入力するとBMIを計算するプログラムです。 import javax.swing.*; public class BMI{ public void run(){ String text1=JOptionPane.showInputDialog("Height:"); double num1=Integer.parseInt(text1); String text2=JOptionPane.showInputDialog("Weight:"); double num2=Integer.parseInt(text2); ★String msg=Integer.toString(num2/(num1*num1)); JOptionPane.showMessageDialog(null,msg); } public static void main(String[] args){ BMI bmi = new BMI(); bmi.run(); } }  よろしくおねがいします

    • ベストアンサー
    • Java
  • エラーはでないが数値がおかしい(BMI値計算プログラム)

    今以下のようなプログラムを製作中なのですがどうしてもうまくいきません; (1)ユーザに身長と体重を入力してもらう (2)(1)の値からBMI値を計算し、その結果から「太りすぎ」などの判定を表示し (3)身長・体重から計算した標準体重と現在の体重との差を表示する 問題は以下です。 ・身長と体重の数値を変えても結果(BMI値)は毎回同じで、 100万台の桁違いな数値がでる;(しかし「太りすぎ」などの判定は変化する) どこがおかしいのかチェックするために(1)の部分のあとに改めて身長と体重を 表示させてみたところ、そこからすでに数値が変なことになっていたので、 おかしいとしたら(1)のscanfなどの部分か型宣言だと思うのですが… 回答よろしくお願いします;; プログラム ------------------------------------------------ /* bmi.c */ #include <stdio.h> main() { int sintyo, taizyu; double sintyo2, bmi, hyozyun, sa; //入力 printf("身長(cm)を入力してください\n"); scanf("%d", &sintyo); printf("体重(kg)を入力してください\n"); scanf("%d", &taizyu); //※チェック(身長・体重) printf("%d\n", &sintyo); printf("%d\n", &taizyu); //計算 sintyo2 = sintyo / 100; //cm→m bmi= taizyu / (sintyo2 *sintyo2); //BMI値計算 hyozyun = (sintyo2 *sintyo2) * 22;//標準体重 sa = hyozyun - taizyu; //※チェック(BMI値) printf("%d\n", &bmi); //出力 if(bmi>=25) printf("BMI値:%f\nあなたは太りすぎです\n", &bmi); else if(bmi>=23 && bmi<25) printf("BMI値:%f\nあなたは太りぎみです\n", &bmi); else if(bmi>=21 && bmi<23) printf("BMI値:%f\nあなたは標準です\n", &bmi); else if(bmi>=18.5 && bmi<21) printf("BMI値:%f\nあなたは痩せぎみです\n", &bmi); else printf("BMI値:%f\nあなたは痩せすぎです\n", &bmi); if(sa>=0) printf("標準体重:%fkg\n標準体重を+%fkgオーバーしています\n",&hyozyun, &sa); else printf("標準体重:%fkg\n標準体重より-%fkgです\n",&hyozyun, &sa); return 0; } 結果(身長160、体重50で入力) ------------------------------------------------ 身長(cm)を入力してください 160 体重(kg)を入力してください 50 1310600 (←身長チェック 以下3つの値は不動です;) 1310596 (←体重チェック) 1310580 (←BMI値チェック) BMI値:0.000000 あなたは太りすぎです 標準体重:0.000000kg 標準体重より-+NANkgです

  • BMIと体脂肪の関係

    体脂肪率で頭を痛めています。身長164センチです。運動の甲斐あってこの2.5ヶ月で体重は約5キロ落ちました。体脂肪率も4%ほど落ちているのですが体重に比べると減り具合が少ない気がします。 Gooダイエットの日記で私の体格と似たような方の数値を拝見したのですが、彼女は163センチ(-1センチ)体重53.6キロ(ー2キロ弱)なのにBMIは21.2となっていました。 ここで質問なのですが、体脂肪率とBMIは比例すべきでは?と思うのですが、これはどういうことなのでしょう。 つまり、身長1センチの違いで彼女は2キロ体重が少なく、体脂肪も2.5%も少ないのにBMIは0.5多い。逆に考えると、BMIの値が少なければ体脂肪率も比例して少ないはずでは、と思うのですが。イコール、我が家の家庭用体重体脂肪測量機が多めに測定している(そうであって欲しいと思っている)。 ちなみに低炭水化物の食事をしていましたが、今は「なるべく控える」くらいで、パスタやパンなども食べています。 お答えを頂けると大変参考になります。宜しくお願いします。

  • 中1数学 有効数字の指導について

     有効数字の指導が不十分だと思います。皆さんはどう思われますか。 【例題】身長172.9 cm,体重50.1 kg の人の BMI を有効数字に注意して求めなさい。ただし,BMI=体重(kg)/{身長(m)}² である。 【解答】身長は(測定値±0.1)cm,体重は(測定値±0.1)kg の誤差を含んでいると考えられるので,有効数字3桁で求める。 50.1/(1.729)²=16.75……≒16.8

  • JavaScriptでのBMI計算について

    はじめまして。ほとんどJavaScriptをわかっていないものです。 テキストを見ても理解できず、困っています。 どなたか教えて頂けると幸いです。 【内容】 画面内に以下の項目があります。 (□は手入力欄です) 身長 □cm 体重 □kg BMI □ 身長・体重をキーボードから入力した際に 自動でBMI欄に結果を表示させたいと思います。 その際のJavaScriptの記載方法を教えて頂ければと思います。 色々と調べましたが、この方法の記載を見つけることが 出来ませんでした。 入力用のポップアップ画面が出たり、BMIの結果で 良い・悪い・・など評価なども必要ありません。 単にBMIの結果を表示するのみです。 お手数ですが、どうぞよろしくお願いいたします。

専門家に質問してみよう