:利用键盘录入,输入一个字符串,统计该字符串中各个字符的数量,如用户输入字符串: "hello world java",程序输出结果:h(1)e(1)l(3)o(2) (2)w(1)r(1)d(1) j(1)a(2)v(1)。 (1)在窗体中添加JTextField组件用于输入一个字符串 (2)添加一个命令按钮,命令按钮完成如下功能: (3)将JTextField组件中的字符串保存在一个String对象中。 (4)将该字符串转换成字符数组 (5)创建map集合,用来存放字符:key是字符 value是字符出现的个数 (6)遍历字符数组 (7)拿到每个字符,去map中查看是否有保存对应的次数 (8)如果这个字符没有保存次数,就设置为1次 (9)如果这个字符有保存次数,就设置为原来的次数+1次 (10)按题目要求拼接字符串 (11)输出结果
时间: 2023-11-27 21:53:49 浏览: 152
十个实用且简单的MySQL函数
下面是实现该功能的Java代码:
```java
import java.util.HashMap;
import java.util.Map;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CharCount extends JFrame implements ActionListener {
private JTextField textField;
private JButton button;
private Map<Character, Integer> charCountMap;
public CharCount() {
super("字符统计");
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(new JLabel("请输入字符串:"));
textField = new JTextField(20);
add(textField);
button = new JButton("统计");
button.addActionListener(this);
add(button);
charCountMap = new HashMap<>();
pack();
setLocationRelativeTo(null); // 居中显示
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button) {
String str = textField.getText();
char[] chars = str.toCharArray();
for (char c : chars) {
Integer count = charCountMap.get(c);
if (count == null) {
count = 1;
} else {
count += 1;
}
charCountMap.put(c, count);
}
StringBuilder result = new StringBuilder();
for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
result.append(entry.getKey());
result.append("(");
result.append(entry.getValue());
result.append(")");
}
System.out.println(result);
}
}
public static void main(String[] args) {
new CharCount();
}
}
```
运行该程序,输入字符串后点击“统计”按钮,程序会输出结果。注意每次统计前要清空map,否则上一次的结果会影响下一次的结果。
阅读全文