Java实现输入名字并按首字母分组的界面程序
```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class NameGrouping { public static void main(String[] args) { JFrame frame = new JFrame("名字分组"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); JPanel panel = new JPanel(); frame.add(panel); placeComponents(panel); frame.setVisible(true); } private static void placeComponents(JPanel panel) { panel.setLayout(null); JLabel nameLabel = new JLabel("输入名字:"); nameLabel.setBounds(10, 20, 80, 25); panel.add(nameLabel); JTextField nameInput = new JTextField(20); nameInput.setBounds(100, 20, 165, 25); panel.add(nameInput); JButton addButton = new JButton("添加"); addButton.setBounds(275, 20, 80, 25); panel.add(addButton); JTextArea resultArea = new JTextArea(); resultArea.setEditable(false); JScrollPane scrollPane = new JScrollPane(resultArea); scrollPane.setBounds(10, 60, 360, 200); panel.add(scrollPane); addButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String name = nameInput.getText().trim(); if (!name.isEmpty()) { // 这里可以添加名字到分组的逻辑,例如: Map<Character, List<String>> groupedNames = groupNamesByInitial(name); resultArea.setText(groupedNames.toString()); } else { JOptionPane.showMessageDialog(null, "请输入有效的名字"); } } }); } private static Map<Character, List<String>> groupNamesByInitial(String names) { Map<Character, List<String>> groupedNames = new HashMap<>(); String[] nameArray = names.split("\\s+"); for (String name : nameArray) { if (!name.isEmpty()) { char initial = name.charAt(0); if (!groupedNames.containsKey(initial)) { groupedNames.put(initial, new ArrayList<>()); } groupedNames.get(initial).add(name); } } return groupedNames; } } ``` ######[AI写代码神器 | 740点数解答 | 2024-07-29 14:12:36]
- Java JFrame 实现多界面跳转:含登录、注册及个人信息管理功能(讯飞星火 | 503点数解答 | 2024-06-06 23:49:29)408
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)429
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)330
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1217
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- Java程序模拟教学选课:林老师开课,58 位学生选课男女比例大揭秘( | 2653点数解答 | 2024-04-02 11:00:16)484
- Java程序设计课程:模拟教学管理,统计58位选课学生男女比重( | 363点数解答 | 2024-04-05 18:31:39)489
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)342
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)339
- 二手车交易价格预测赛题:思路剖析与程序实现全步骤揭秘(讯飞星火 | 1207点数解答 | 2024-11-17 18:48:26)379
- 揭秘!40 万条数据二手车交易价格预测赛题思路与程序实现全步骤(字节豆包 | 557点数解答 | 2024-11-17 18:50:01)273
- 二手车交易价格预测赛题:从数据处理到模型调优全流程揭秘(阿里通义 | 1736点数解答 | 2024-11-17 18:50:36)298