Java程序的身高计算器

 这个想法就是之前看到的一个视频,输入身高,按下开始计算按钮之后直接输出身高。说写就写。

目录

界面设计:

功能实现:

 完整代码:

总结:


界面设计:

首先就是确定这个框架里面有什么东西,我打算就是简单一点,一个计算身高的按钮,一个把重置按钮,输入的话是输入在文本框里面,输出是直接用标签来输出。

	//组件数据
	final JPanel panel=new JPanel();//面板
	final JLabel heightLabel=new JLabel();//身高标签
	final JTextField heightTextField=new JTextField();//身高文本框
	final JLabel resultLabel=new JLabel();//计算结果标签
	final JButton start=new JButton();//开始计算按钮
	final JButton reset=new JButton();//重置按钮

	
	public heightCalculatorJFrame() {
		//初始化框架
		initFrame();
		//初始化面板
		initPanel();
		//绑定监听事件
		buttonAction();
		//窗体可见
		this.setVisible(true);
		
	}
	//初始化框架
	public void initFrame() {
		//设置软件的标题
		this.setTitle("身高计算器");
		//设置窗体位置以及大小
		this.setSize(500,300);
		//设置窗体居中
		this.setLocationRelativeTo(null);
		//关闭按钮的动作为退出
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	//初始化面板
	public void initPanel() {
		initModule();
		//设置为不采用任何布局管理器,在Frame中设置没有效果,结果还是会被panel替代了
		panel.setLayout(null);
		//添加相关的组件
		panel.add(heightLabel);
		panel.add(heightTextField);
		panel.add(resultLabel);
		panel.add(start);
		panel.add(reset);
		
		this.setContentPane(panel);
	}
	//初始化组件
	public void initModule() {
		//初始化身高相关的组件
		heightLabel.setText("身高:");
		//设置字体的类型,加粗,和大小
		heightLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,40));
		//标签的位置和大小
		heightLabel.setBounds(30,30,100,50);
		//文本框的位置和大小
		heightTextField.setBounds(130,30,150,50);
		
		//初始化计算结果相关的数据
		resultLabel.setText("您的身高为:");
		//设置字体的类型,加粗,和大小
		resultLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,30));
		//标签的位置和大小
		resultLabel.setBounds(30,80,400,100);
		
		//开始计算按钮
		start.setBounds(290,30,90,50);
		start.setText("开始计算");
	
		//重置按钮
		reset.setBounds(390,30,90,50);
		reset.setText("重置");
	}

功能实现:

 这个也是按钮事件绑定的三步走,事件源就是那两个按钮,监听源是ActionListener。

对接口的方法进行重写。

按钮绑定事件,自己实现的话就是绑定自己,用this。

我这里判断字符串是否满足浮点数的要求是用的正则表达式,这里用try…catch应该也行,但是要转换成浮点数来判断是否成功,我这用正则表达式就可以不需要转成浮点数了,直接输出即可。

public void buttonAction() {
		//按钮绑定动作事件,和自己绑定,自己实现的监听的方法
		start.addActionListener(this);
		reset.addActionListener(this);
	}
	
	//必须重写actionPerformed方法
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		JButton button =(JButton)e.getSource();//获得触发此次动作事件的按钮对象
		String buttonName =e.getActionCommand();//获得触发此次动作事件的按钮的标签文本
		if(buttonName.equals("开始计算")) {
			//获取文本框内容
			result=heightTextField.getText();
			//正则表达式
			String regex="(^[1-9]\\d*\\.\\d+$|^0\\.\\d+$|^[1-9]\\d*$|^0$)";
			
			if(result.matches(regex)) {
				resultLabel.setText("您的身高为:"+result+"cm");
			}else {
				//数据不对当然要弹出警告啦
				//添加一个弹窗的警告
				JDialog jDialog=new JDialog();//创建弹窗对象
				jDialog.setTitle("警告");//设置弹窗标题,和Frame差不多,可能还要通过标签来提示
				jDialog.setSize(500,600);//设置弹窗的大小
				jDialog.setAlwaysOnTop(true);//让弹窗置顶
				jDialog.setLocationRelativeTo(null);//让弹窗居中
				jDialog.setModal(true);//弹窗不关闭则无法操作下面的界面
				
				//设置字体的类型,加粗,和大小
				warningLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,30));
				//输出警告提示符
				warningLabel.setText("身高输入错误哦!!!,请合法输入呢");
				//标签的位置和大小
				warningLabel.setBounds(20,200,500,100);
				//这个也要取消布局管理器才行
				jDialog.getContentPane().setLayout(null);
				//往弹窗中添加标签
				jDialog.getContentPane().add(warningLabel);
				jDialog.setVisible(true);//让弹窗显示出来
			}
		}else if(buttonName.equals("重置")) {
			//清空文本框里面的内容
			heightTextField.setText("");
		}
	}

 

 

 

 完整代码:



import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class heightCalculatorJFrame extends JFrame implements ActionListener{
	//主方法
	public static void main(String[] args) {
		heightCalculatorJFrame app=new heightCalculatorJFrame();
	}
	//组件数据
	final JPanel panel=new JPanel();//面板
	final JLabel heightLabel=new JLabel();//身高标签
	final JTextField heightTextField=new JTextField();//身高文本框
	final JLabel resultLabel=new JLabel();//计算结果标签
	final JButton start=new JButton();//开始计算按钮
	final JButton reset=new JButton();//重置按钮
	final JLabel warningLabel=new JLabel();//警告标签,放在弹窗里面
	
	//用来存储文本框输入的数据,因为不用计算,所以可以直接输出即可
	String result="";
	
	public heightCalculatorJFrame() {
		//初始化框架
		initFrame();
		//初始化面板
		initPanel();
		//绑定监听事件
		buttonAction();
		//窗体可见
		this.setVisible(true);
		
	}
	//初始化框架
	public void initFrame() {
		//设置软件的标题
		this.setTitle("身高计算器");
		//设置窗体位置以及大小
		this.setSize(500,300);
		//设置窗体居中
		this.setLocationRelativeTo(null);
		//关闭按钮的动作为退出
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	//初始化面板
	public void initPanel() {
		initModule();
		//设置为不采用任何布局管理器,在Frame中设置没有效果,结果还是会被panel替代了
		panel.setLayout(null);
		//添加相关的组件
		panel.add(heightLabel);
		panel.add(heightTextField);
		panel.add(resultLabel);
		panel.add(start);
		panel.add(reset);
		
		this.setContentPane(panel);
	}
	//初始化组件
	public void initModule() {
		//初始化身高相关的组件
		heightLabel.setText("身高:");
		//设置字体的类型,加粗,和大小
		heightLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,40));
		//标签的位置和大小
		heightLabel.setBounds(30,30,100,50);
		//文本框的位置和大小
		heightTextField.setBounds(130,30,150,50);
		
		//初始化计算结果相关的数据
		resultLabel.setText("您的身高为:");
		//设置字体的类型,加粗,和大小
		resultLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,30));
		//标签的位置和大小
		resultLabel.setBounds(30,80,400,100);
		
		//开始计算按钮
		start.setBounds(290,30,90,50);
		start.setText("开始计算");
	
		//重置按钮
		reset.setBounds(390,30,90,50);
		reset.setText("重置");
	}
	
	public void buttonAction() {
		//按钮绑定动作事件,和自己绑定,自己实现的监听的方法
		start.addActionListener(this);
		reset.addActionListener(this);
	}
	
	//必须重写actionPerformed方法
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		JButton button =(JButton)e.getSource();//获得触发此次动作事件的按钮对象
		String buttonName =e.getActionCommand();//获得触发此次动作事件的按钮的标签文本
		if(buttonName.equals("开始计算")) {
			//获取文本框内容
			result=heightTextField.getText();
			//正则表达式
			String regex="(^[1-9]\\d*\\.\\d+$|^0\\.\\d+$|^[1-9]\\d*$|^0$)";
			
			if(result.matches(regex)) {
				resultLabel.setText("您的身高为:"+result+"cm");
			}else {
				//数据不对当然要弹出警告啦
				//添加一个弹窗的警告
				JDialog jDialog=new JDialog();//创建弹窗对象
				jDialog.setTitle("警告");//设置弹窗标题,和Frame差不多,可能还要通过标签来提示
				jDialog.setSize(500,600);//设置弹窗的大小
				jDialog.setAlwaysOnTop(true);//让弹窗置顶
				jDialog.setLocationRelativeTo(null);//让弹窗居中
				jDialog.setModal(true);//弹窗不关闭则无法操作下面的界面
				
				//设置字体的类型,加粗,和大小
				warningLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,30));
				//输出警告提示符
				warningLabel.setText("身高输入错误哦!!!,请合法输入呢");
				//标签的位置和大小
				warningLabel.setBounds(20,200,500,100);
				//这个也要取消布局管理器才行
				jDialog.getContentPane().setLayout(null);
				//往弹窗中添加标签
				jDialog.getContentPane().add(warningLabel);
				jDialog.setVisible(true);//让弹窗显示出来
			}
		}else if(buttonName.equals("重置")) {
			//清空文本框里面的内容
			heightTextField.setText("");
		}
	}
}

总结:

这个算是我第一个写出来的Swing程序设计,有想法然后去实现,尽管最后没有实现会有遗憾,但是回头看去,自己早不是在原地踏步。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 您可以使用以下代码作为身高计算器的基础: ```java public class MainActivity extends AppCompatActivity { private EditText editTextHeight; private Button buttonCalculate; private TextView textViewResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextHeight = findViewById(R.id.editTextHeight); buttonCalculate = findViewById(R.id.buttonCalculate); textViewResult = findViewById(R.id.textViewResult); buttonCalculate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 获取输入的身高值 String heightStr = editTextHeight.getText().toString(); if (!TextUtils.isEmpty(heightStr)) { // 将字符串转换为浮点型 double height = Double.parseDouble(heightStr); // 计算标准体重 double standardWeight = (height - 100) * 0.9; // 显示结果 textViewResult.setText("您的标准体重是:" + standardWeight + " 公斤"); } else { // 如果输入为空,提示用户 Toast.makeText(MainActivity.this, "请输入身高", Toast.LENGTH_SHORT).show(); } } }); } } ``` 其中,`editTextHeight` 是一个用于获取身高输入的 EditText,`buttonCalculate` 是一个用于触发计算的 Button,`textViewResult` 是一个用于显示结果的 TextView。 在点击 `buttonCalculate` 后,我们会获取 `editTextHeight` 中输入的身高值,并计算标准体重。最后,我们将计算结果显示在 `textViewResult` 中。 请注意,这只是一个简单的示例代码,您可以根据自己的需求进行修改。 ### 回答2: 身高计算器是一款针对安卓手机开发的应用程序,它可以帮助用户快速准确地计算身高。 首先,身高计算器需要用户提供一些基本信息,比如性别、年龄和父母身高等。根据身高发育的规律,通过运用科学的计算公式,身高计算器可以预测用户将来的成年身高。 接下来,身高计算器会根据用户提供的信息进行计算,得出一个预测结果。这个结果是根据大量的统计数据和科学研究得出的,因此具有一定的可信度。 除了预测成年身高身高计算器还可以提供一些简单但有趣的功能。比如,它可以计算用户当前身高和标准身高的差距,提醒用户是否需要加强营养或进行适当的运动。另外,它还可以根据用户的身高和体重计算出BMI指数,帮助用户了解自己的体型状况。 身高计算器的用户界面通常简洁明了,操作起来方便快捷。用户只需按照指示输入相关信息,然后等待计算结果即可。 总的来说,身高计算器是一款实用的安卓应用程序,它可以帮助用户快速预测成年身高并提供一些相关的健康指引。无论是对于孩子的家长还是个人用户,这款应用都可以提供有用的参考信息。 ### 回答3: 身高计算器是一款在Android系统上运行的应用程序,用于帮助用户计算自己或他人的身高。它通常具有以下功能: 1.输入个人的年龄、性别、父母的身高等基本信息,并根据这些信息进行相关计算。 2.根据用户提供的信息,应用程序会根据普通人的身高生长规律和统计数据,预测出用户未来的身高。 3.一些身高计算器还会提供BMI(身体质量指数)计算功能,用于评估用户的身体健康状况。 4.应用程序通常还会提供健康指导,例如建议用户如何通过饮食、运动等方式促进身高的增长或保持身高的稳定。 5.身高计算器还可以对用户输入的数据进行保存,方便用户随时查看或修改。 用户可以通过在Android应用商店下载并安装身高计算器应用程序,然后按照应用程序提供的指引进行操作。通常来说,用户只需输入自己的基本信息,并在计算完成后查看结果即可。 身高计算器对于关心身高的用户来说是非常实用的工具,可以通过科学的计算方法帮助用户了解自己或他人的身高发展趋势,并提供健康指导,帮助用户保持合理的身高增长和身体健康。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

封奚泽优

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值