import java.util.Scanner;
在拱墅等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站设计 网站设计制作按需设计,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,成都外贸网站建设,拱墅网站建设费用合理。
public class Tt {
/** 计算公式:
* 男:[66 + 1.38 x 体重(kg) + 5 x 高度(cm) - 6.8 x 年龄] x 活动量
* 女:[65.5 + 9.6 x 体重(kg) + l.9 x 高度(cm) - 4.7 x 年龄] x 活动量
*/
private static double actRadio = 1.2;//活动量
public static void main (String[] args){
System.out.println("计算人体每天摄入热量");
System.out.println("请输入性别/体重(KG)/身高(CM)/年龄,例如:男/60/170/25");
Scanner sca = new Scanner(System.in);
String input = sca.nextLine();
while(!"exit".equalsIgnoreCase(input)){
double heat = calcHeat(input);
if(heat==-1){
System.out.println("输入格式不正确,请重新输入!");
Scanner sc = new Scanner(System.in);
input = sc.nextLine();
continue;
}else{
System.out.println("所需热量为:"+heat+"(Kcal)");
System.out.println("请继续输入:");
Scanner sc = new Scanner(System.in);
input = sc.nextLine();
}
}
}
private static double calcHeat(String input){
double heat = -1;
try {
String[] ss = input.split("/");
if(ss[0].equals("男")){
heat = (66+1.38*Integer.parseInt(ss[1])+ 5*Integer.parseInt(ss[2])+6.8*Integer.parseInt(ss[3]))*actRadio;
}else if(ss[0].equals("女")){
heat = (65.5+9.6*Integer.parseInt(ss[1])+ 1.9*Integer.parseInt(ss[2])+4.7*Integer.parseInt(ss[3]))*actRadio;
}else {
throw new Exception();
}
}catch (Exception e){
return -1;
}
return heat;
}
}
你好,不知道你的健康计算公式;关于Java 的swing界面,您自己去了解下很接单;关于简单的输入计算,我提供一串代码给你,你可以参考下:
package image;
import java.util.Scanner;
class CountThread extends Thread{
private Scanner sc1;
private Scanner sc2;
public void run(){
try{
System.out.println("请输入第一个数:");
sc1=new Scanner(System.in);
int x=sc1.nextInt();
System.out.println("请输入第二个数:");
sc2=new Scanner(System.in);
int y=sc2.nextInt();
System.out.println("您的结果为:"+(x+y));
}catch(Exception e){
e.printStackTrace();
}
}
}
public class Filetest{
private static CountThread count;
public static void main(String[] args){
try{
count=new CountThread();
count.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
public class MyCube { //MyCube是类名,不是MyCude
double width; //类的数据成员
public static void main(String[] args) { //main方法
MyCube cube= new MyCube(2.1); //调用MyCube(double)构造函数创建类实例
System.out.println( cube.calcVolume()); //调用方法calcVolume,printly改成println
}
MyCube(double w){ //类的构造函数
this.width = w; //将参数赋给类实例的数据成员width
}
double calcVolume(){ //计算立方体的体积
return width*width*width;
}
}
注意文件名必须是MyCube.java
package jisuanqi;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator extends JFrame implements ActionListener{ //建一个Calculator类继承JFrame实现ActionListener
public static void main (String args[]){
Calculator calculator=new Calculator(); //创建对象calculator
calculator.setVisible(true); //窗口可见
calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭图标后结束程序
}
String keys []={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};//表示计算器的键的名字
String command []={"backspace","C"};//功能键
JButton KEYS []=new JButton[keys.length];//创建键对象
JButton COMMAND[]=new JButton[command.length];//功能键对象
static JTextField resultSet=new JTextField();//建一个文本框
double resultNum; //结果
String operator="";//运算符 ---------------------------
public Calculator() {// 构造函数
super();
init();//初始化计算器
this.setBackground(Color.WHITE);//this代表用当前构造方法创建的对象
this.setTitle("简单计算器"); //窗口标题
this.setLocation(500, 300); //窗口大小
this.pack(); //使组件大小合适
}
void init() { //初始化计算器
resultSet.setHorizontalAlignment(JTextField.RIGHT); //设置文本框内容向右对齐
resultSet.setBackground(Color.WHITE); //设置文本框背景颜色
JPanel keysPanel=new JPanel();//创建一个面板
keysPanel.setLayout(new GridLayout(4,5,3,3)); //设置面板的布局为网格型
for (int i=0;ikeys.length;i++) { //把数字键和符号键设为按钮
KEYS[i]=new JButton(keys[i]);
keysPanel.add(KEYS[i]); //把按钮加到面板中
}
JPanel comPanel=new JPanel(); //创建命令键面板
comPanel.setLayout(new GridLayout(1,2,3,3));//设置面板布局为网格型
for(int i=0;icommand.length;i++) { //把命令键设置为按钮
COMMAND[i]=new JButton(command[i]);
comPanel.add(COMMAND[i]); //把按钮放到面板上
}
JPanel pane=new JPanel(); //创建面板
pane.setLayout(new BorderLayout()); //面板布局为区域型
pane.add(comPanel,BorderLayout.NORTH); //把命令面板加入到大面板上
pane.add(keysPanel,BorderLayout.CENTER); //把数字键面板加到大面板
getContentPane().setLayout(new BorderLayout()); //设置底层容器的布局为区域型
getContentPane().add(resultSet,BorderLayout.NORTH); //把文本框放到北面
getContentPane().add(pane,BorderLayout.CENTER); //把大面板放到中央
for(int i=0;ikeys.length;i++){
KEYS[i].addActionListener(this);//为按钮添加监听器
}
for(int i=0;icommand.length;i++){
COMMAND[i].addActionListener(this);
}
}
//处理事件
public void actionPerformed(ActionEvent e){
String lable=e.getActionCommand();
if(lable.equals("backspace")){ //如果命令为backspace
backspace();
}
else if (lable.equals("C")){ //如果命令为C
Clear();
}
else if (Character.isDigit(lable.charAt(0))) { //---------------
if(resultSet.getText().equals("0")){
resultSet.setText("");
}
resultSet.setText(resultSet.getText()+lable);
}
else if (lable.equals(".")){
point();
}
else if (lable.equals("=")){
equal();
}
else {
doOperation();
resultSet.setText("");
operator=lable;
}
}
void point() {
String s=resultSet.getText();
if(s.indexOf(".")==-1){
resultSet.setText(s+".");
}
}
void equal() {
doOperation();
resultSet.setText(""+resultNum);
operator="";
}
void doOperation() {
double m=Double.parseDouble(resultSet.getText());
if(operator.equals("")){
resultNum=m;
}
if(operator.equals("+")){
resultNum+=m;
}
if(operator.equals("-")){
resultNum-=m;
}
if(operator.equals("*")){
resultNum*=m;
}
if(operator.equals("/")){
resultNum/=m;
}
}
void Clear() { //清零
resultSet.setText("0");
}
void backspace() { //退格
String text =resultSet.getText();
if (text.length()0){
resultSet.setText(text.substring(0, text.length()-1));//将文本最后一个字符删除
}
else if (text.length()==0){
resultSet.setText("0");
}
}
}
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
/**
* 做一个窗体应用程序“体重指数计算器”,能根据用户输入的性别、身高、体重计算出“体质指数(身体质量指数)”,并给出是否偏胖的判断。其中,体质指数(BMI)=体重(kg)÷身高^2(m),大于24则为偏胖。要求有更详细的判断。要求有用户界面组件(如文本框、单选按钮、按钮)、布局和事件处理。
*
* @author chunyan
*
*/
public class DemoFrame extends JFrame {
JTextField height;
JTextField weight;
JLabel result;
//构造函数
public DemoFrame() {
init();
}
//初始化JFrame
private void init() {
this.setTitle("体质指数计算平台");
this.setSize(702, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 点击关闭
this.setLocationRelativeTo(null);// 设置居中
this.setContentPane(createContentPane());// 创建主面板
}
//创建面板
private Container createContentPane() {
JPanel p = new JPanel(new BorderLayout());
p.add(BorderLayout.NORTH, createNorthPane());
p.add(BorderLayout.CENTER, createCenterPane());
p.add(BorderLayout.SOUTH, createSouthPane());
return p;
}
//最北边的输入框
private Component createNorthPane() {
JPanel p = new JPanel();
JLabel label = new JLabel("性别:");
ButtonGroup bg = new ButtonGroup();
JRadioButton jrb1 = new JRadioButton("男");
JRadioButton jrb2 = new JRadioButton("女");
bg.add(jrb1);
bg.add(jrb2);
//身高,输入框
JLabel label_height = new JLabel("身高:");
height = new JTextField("请输入身高,单位为:米",20);
//体重,输入框
JLabel label_weight = new JLabel("体重:");
weight = new JTextField("请输入体重,单位为:千克",20);
p.add(label);
p.add(jrb1);
p.add(jrb2);
p.add(label_height);
p.add(height);
p.add(label_weight);
p.add(weight);
return p;
}
//中间的提交
private Component createCenterPane() {
JPanel p = new JPanel();
JButton button = new JButton("检测身体素质");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Double h = Double.valueOf(height.getText());
Double w = Double.valueOf(weight.getText());
Double bmi = w/(Math.pow(h, 2));
if(bmi24) {
result.setText("体质指数:"+bmi+"\t提示:偏胖");
}else {
result.setText(bmi+"");
}
}
});
p.add(button);
return p;
}
//底部的结果显示
private Component createSouthPane() {
JPanel p = new JPanel();
result = new JLabel("结果...");
p.add(result);
return p;
}
public static void main(String[] args) {
DemoFrame demoFrame = new DemoFrame();
demoFrame.setVisible(true);
}
}
结果:
MI计算公式为:
public double getBMI(double weight,double height){
return weight/(height*height);
}
public static void main(String[] arrs){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入体重");
double weight=scanner.nextDouble();
System.out.println("请输入身高");
double height=scanner.nextDouble();
getBMI(weight,height);
}
相信很多人都有这样一种感觉:为什么相同身高相同体重的两个人,有人看起来瘦,有人看起来胖,或者是减肥的时候,明明体重没有下降,甚至还上升了,但是看起来却瘦下来了。
其实,这其中就是体脂率在起作用。有人过分追求减肥时的体重快速下降,但其实如果体脂率没小,只是体重下去了,也是虚的。
只有当体脂率变小,腰围等才会变小,视觉上才会看起来“瘦”,这体脂率,指的就是脂肪的重要占总体重的比例,当体脂率低,意味着身体的脂肪含量少,即使是相同体重的人,看起来也会比较瘦,这就是体脂率的意义。
如果按照概念来看,体脂率的计算公式就是:体脂率=(脂肪重量 ÷ 体重)×100%,通用的体脂率计算公式为:体脂率 =1.2×BMI+0.23× 年龄-5.4-10.8×性别(男为1,女为0),其中BM指的是体重指数,用体重除以身高的平方即可得到。
因此,按照公式就可以计算出自己的体脂率了,如此一来,就可以知道自己是“胖”还是“瘦”。有人就会提出疑问,是不是体脂率越低越好呢?当然不是。