【课后练习分享】Java用户注册界面设计和求三角形面积的图形界面程序

目录

java编程题(每日一练):

问题一的答案代码如下:

问题一的运行截图如下:

问题二的答案代码如下: 

问题二的运行截图如下:


java编程题(每日一练):

1.设计一个用户注册的界面,包括用户名、密码输入框,性别单选按钮,表示爱好的 篮球、足球、乒乓球复选框,表示学历的下拉列表框,“注册”按钮和“取消”按钮。

2.设计一个求三角形面积的图形界面程序,要求通过3个输入框输入3个边长,当单 击“计算”按钮时,能够计算以输入的3个边长所形成的三角形的面积。要求能够判断输 入的3个边长是否是数字,三个边长是否能够构成合法的三角形

问题一的答案代码如下:

Java 用户注册界面设计

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

public class Main {
    public static void main(String[] args) {
        JFrame frame = new JFrame("User Registration");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLayout(new GridLayout(6, 2));

        JLabel nameLabel = new JLabel("Username:");
        JTextField nameField = new JTextField();
        JLabel passwordLabel = new JLabel("Password:");
        JPasswordField passwordField = new JPasswordField();

        JLabel genderLabel = new JLabel("Gender:");
        JRadioButton maleButton = new JRadioButton("Male");
        JRadioButton femaleButton = new JRadioButton("Female");
        ButtonGroup genderGroup = new ButtonGroup();
        genderGroup.add(maleButton);
        genderGroup.add(femaleButton);
        JPanel genderPanel = new JPanel();
        genderPanel.add(maleButton);
        genderPanel.add(femaleButton);

        JLabel hobbyLabel = new JLabel("Hobbies:");
        JCheckBox basketballBox = new JCheckBox("Basketball");
        JCheckBox footballBox = new JCheckBox("Football");
        JCheckBox pingpongBox = new JCheckBox("Ping Pong");
        JPanel hobbyPanel = new JPanel();
        hobbyPanel.add(basketballBox);
        hobbyPanel.add(footballBox);
        hobbyPanel.add(pingpongBox);

        JLabel educationLabel = new JLabel("Education:");
        String[] educationLevels = {"High School", "Associate", "Bachelor", "Master", "Doctor"};
        JComboBox<String> educationComboBox = new JComboBox<>(educationLevels);

        JButton registerButton = new JButton("Register");
        JButton cancelButton = new JButton("Cancel");

        frame.add(nameLabel);
        frame.add(nameField);
        frame.add(passwordLabel);
        frame.add(passwordField);
        frame.add(genderLabel);
        frame.add(genderPanel);
        frame.add(hobbyLabel);
        frame.add(hobbyPanel);
        frame.add(educationLabel);
        frame.add(educationComboBox);
        frame.add(registerButton);
        frame.add(cancelButton);

        registerButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String username = nameField.getText();
                String password = new String(passwordField.getPassword());
                String gender = maleButton.isSelected() ? "Male" : "Female";
                String hobbies = "";
                if (basketballBox.isSelected()) hobbies += "Basketball ";
                if (footballBox.isSelected()) hobbies += "Football ";
                if (pingpongBox.isSelected()) hobbies += "Ping Pong ";
                String education = (String) educationComboBox.getSelectedItem();
                JOptionPane.showMessageDialog(frame, "Username: " + username + "\nPassword: " + password + "\nGender: " + gender + "\nHobbies: " + hobbies + "\nEducation: " + education);
            }
        });

        cancelButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                nameField.setText("");
                passwordField.setText("");
                genderGroup.clearSelection();
                basketballBox.setSelected(false);
                footballBox.setSelected(false);
                pingpongBox.setSelected(false);
                educationComboBox.setSelectedIndex(0);
            }
        });

        frame.setVisible(true);
    }
}

问题一的运行截图如下:

问题二的答案代码如下: 

求三角形面积的图形界面程序

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

public class TriangleAreaCalculator {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Triangle Area Calculator");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 200);
        frame.setLayout(new GridLayout(5, 2));

        JLabel sideALabel = new JLabel("Side A:");
        JTextField sideAField = new JTextField();
        JLabel sideBLabel = new JLabel("Side B:");
        JTextField sideBField = new JTextField();
        JLabel sideCLabel = new JLabel("Side C:");
        JTextField sideCField = new JTextField();

        JButton calculateButton = new JButton("Calculate");
        JLabel resultLabel = new JLabel("Area:");

        frame.add(sideALabel);
        frame.add(sideAField);
        frame.add(sideBLabel);
        frame.add(sideBField);
        frame.add(sideCLabel);
        frame.add(sideCField);
        frame.add(calculateButton);
        frame.add(resultLabel);

        calculateButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    double a = Double.parseDouble(sideAField.getText());
                    double b = Double.parseDouble(sideBField.getText());
                    double c = Double.parseDouble(sideCField.getText());

                    if (isValidTriangle(a, b, c)) {
                        double s = (a + b + c) / 2;
                        double area = Math.sqrt(s * (s - a) * (s - b) * (s - c));
                        resultLabel.setText("Area: " + area);
                    } else {
                        resultLabel.setText("Invalid Triangle");
                    }
                } catch (NumberFormatException ex) {
                    resultLabel.setText("Please enter valid numbers");
                }
            }
        });

        frame.setVisible(true);
    }

    public static boolean isValidTriangle(double a, double b, double c) {
        return a + b > c && a + c > b && b + c > a;
    }
}

问题二的运行截图如下:

这两个程序分别实现了用户注册和三角形面积计算的图形界面。第一个程序包含用户名、密码输入框,性别单选按钮,爱好复选框,学历下拉列表框,以及注册和取消按钮。第二个程序通过三个输入框输入三角形的三条边长,并在点击“计算”按钮时计算三角形的面积,并判断输入的边长是否合法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/633754.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows安装官方正版notepad++

一 、notepad介绍 Notepad 是一个免费的、开源的文本编辑器&#xff0c;主要面向程序员和高级用户。以下是 Notepad 的特点&#xff1a; 跨平台&#xff1a; 虽然主要为 Windows 平台设计&#xff0c;但可以通过 Wine 在 Linux 和 macOS 上运行。 语法高亮&#xff1a; 自动识…

Dubbo生态之初识dubbo协议

1.RPC框架 在java的发展中&#xff0c;随着业务的越来越庞大&#xff0c;单体架构的工作繁琐且耦合度高&#xff0c;因此单体架构过渡到了分布式架构&#xff0c;而分布式架构就必然涉及到各个服务之间的远程通信(RPC框架)&#xff0c;RPC框架如图所示: 工作流程: a.客户端调…

ElasticSearch 查询优化之skipped shards

文章目录 问题通过timeDate查询 问题 PUT test_01 {"settings": {"number_of_shards": 50}, "mappings": {"properties": {"createTimeDate": {"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis&…

对列表进行统计和计算

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Python的列表提供了内置的一些函数来实现统计、计算的功能。下面介绍几种常用的功能。 &#xff08;1&#xff09;获取指定元素出现的次数 使用列表…

汇聚荣科技有限公司怎么样?

在众多企业中&#xff0c;汇聚荣科技有限公司以其独特的发展模式和市场定位引起了人们的关注。对于这个问题&#xff0c;答案并非简单的好与坏&#xff0c;而需要从多个维度进行深入分析。 一、公司背景与发展历程汇聚荣科技有限公司成立于何年何地&#xff0c;由谁创立&#x…

民国漫画杂志《时代漫画》第17期.PDF

时代漫画17.PDF: https://url03.ctfile.com/f/1779803-1248612629-85326d?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络&#xff01;

蓝牙模块七种工作模式——蓝牙Mesh组网工作模式

蓝牙Mesh组网模块技术在2017年得到SIG批准&#xff0c;这是一种独立的网络技术&#xff0c;兼容4及5系列蓝牙协议。它把蓝牙设备作为信号中继站&#xff0c;利用低功耗蓝牙广播的方式进行信息收发&#xff0c;蓝牙Mesh组网技术拓展了蓝牙的通讯关系&#xff0c;打破了以往蓝牙设…

环信 X 星野| 共创沉浸式 AI 互动体验

大模型技术的发展使虚拟人更加智能和情感丰富&#xff0c;推动人与 AI 智能体互动体验进入新时代。星野App 是一款沉浸式 AI 内容社区&#xff0c;短短几个月日活过百万。虽然市面上的社交产品很多&#xff0c;但社交关系更多的是停留在表面&#xff0c;无法满足深层次情感交流…

【全开源】AJAX家政上门服务系统小程序自营+多商家(高级授权)+独立端

基于FastAdmin和原生微信小程序开发的一款同城预约、上门服务、到店核销家政系统&#xff0c;用户端、服务端(高级授权)、门店端(高级授权)各端相互依赖又相互独立&#xff0c;支持选择项目、选择服务人员、选择门店多种下单方式&#xff0c;支持上门服务和到店核销两种服务方式…

leetcode以及牛客网单链表相关的题、移除链表元素、链表的中间节点、合并两个有序链表、反转链表、链表分割、倒数第k个节点等的介绍

文章目录 前言一、移除链表元素二、链表的中间节点三、合并两个有序链表四、反转链表五、链表分割六、倒数第k个节点总结 前言 leetcode以及牛客网单链表相关的题、移除链表元素、链表的中间节点、合并两个有序链表、反转链表、链表分割、倒数第k个节点等的介绍 一、移除链表元…

【详细讲解】二叉树的层序遍历

广度优先搜索 总结一下&#xff0c;思路就是&#xff1a; 加入元素&#xff0c;记录size&#xff0c;size就是当前这一层的元素个数。不断弹出元素&#xff0c;size - 1&#xff0c; 同时加入弹出元素的左右孩子&#xff0c;直到size0&#xff0c;说明当前层已经完全遍历完&am…

闲话 .NET(4):为什么要跨平台?

前言 .NET Core 有一个关键词就是跨平台&#xff0c;为什么要跨平台呢&#xff1f;Windows 操作系统不香吗&#xff1f;今天我们来聊聊这个 原因一&#xff1a;安全考虑 Windows OS 是闭源的&#xff0c;而 Linux 是开源的&#xff0c;因此有些公司的技术负责人就认为 Linux…

Unity性能优化工具介绍

文章目录 一.Stats组件1.Audio音频的数据组件:2.图形数据 二.Profiler 性能分析器 一.Stats组件 Unity自带Statistics(统计数据),Game视窗中点击Stats打开 1.Audio音频的数据组件: 1):Level 声音强度 单位是分贝(dB) 表示音频听声音的大小,是闪烁波动的. 2):SDPload 数据信…

利用神经网络学习语言(一)——自然语言处理的基本要素

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型&#xff1a;从线性回归到通用人工智能》&#xff0c;欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下&#xff1a;regression2chatgpt/ch10_rnn/tokenizer.ipynb 本系列文章将深入探讨一种应用广泛的神经…

Vitis HLS 学习笔记--基本指针和算术指针

目录 1. 简介 2. 基本指针 3. 算术指针 4. 疑点解答 4.1 疑点1 4.2 疑点2 5. 总结 1. 简介 在 C/C 语言中&#xff0c;指针被广泛用来表示内存中的地址信息&#xff0c;它们是理解和使用这些语言的核心概念之一。然而&#xff0c;在 Vitis HLS 中&#xff0c;指针的使用…

ChatGPT、Llama等大模型回答脑筋急转弯

分别使用ChatGPT3.5、 4.0 和Llama 2 70B 和3 70B这四个应用最广的大模型来回答这个流传最广的脑筋急转弯。 树上10知鸟&#xff0c;打死2只&#xff0c;还有几只&#xff1f; 看看它们的表现吧&#xff1a; 题目树上10知鸟&#xff0c;打死2只&#xff0c;还有几只&#xf…

保护共享资源的方法(互斥锁)

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

【BSP开发经验】简易文件系统digicapfs实现方式

文章目录 背景Linux vfs框架介绍数据结构系统调用openwriteread 总体框架 Linux 磁盘高速缓存机制标准文件访问同步文件访问异步文件访问buffer_head 如何实现一个简单的文件系统blkdevfs注册文件系统产生一个文件让文件变得可读可写 背景 在新的分区升级启动方案中需要分别实…

快手二面准备【面试准备】

快手二面准备【面试准备】 前言版权快手二面准备秋招一面中的问题实习一面中的问题计算机网络和操作系统论坛项目登录注册ThreadLocal代替session存储用户秒杀项目登录注册->阿里验证码->rpcsession为什么改为token实现&#xff0c;redis存储用户信息由binlog的用法->…

【Unity】免费的高亮插件——QuickOutline

除了常见的HighLightSystem来实现的高亮功能&#xff0c;其实还有很多的方法实现物体的高亮。 在 Unity资源商店 搜索OutLine&#xff0c;就会有很多免费好用的高亮插件。 下面介绍一下 QuickOutline这个插件&#xff0c;在 Unity资源商店 搜索到后&#xff0c;点击进去就可以…