博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java例题】8.2 手工编写字符串统计的可视化程序
阅读量:7249 次
发布时间:2019-06-29

本文共 2438 字,大约阅读时间需要 8 分钟。

 

2. 手工编写字符串统计的可视化程序。 一个Frame窗体容器,布局为null,两个TextField组件,一个Button组件。 Button组件上添加ActionEvent事件监听器ActionListener和函数actionPerformed, 其中,第一个TextField组件进行输入,第二个TextField组件用于输出, 并完成输入的字符串中字母、数字、汉字及其它字符的数量统计, 统计结果显示在第二个TextField组件中。 注意:还需要对Frame窗体添加WindowEvent事件监听器WindowAdapter和 函数windowClosing,退出程序。 

 

package chapter8;import java.awt.Button;import java.awt.Frame;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class demo2 {    public static void main(String[] args) {        Frame f1=new Frame("字符串统计");        f1.setLayout(null);        int f1width=800;        int f1height=600;        f1.setBounds(0, 0, f1width, f1height);        TextField tf1=new TextField();        tf1.setBounds(50,50,f1width-100,f1height/3);        TextField tf2=new TextField();        tf2.setBounds(50, f1height/3+80, f1width-100, f1height/3);        Button bt1=new Button("统计");        bt1.setBounds(f1width/2-50, f1height/3*2+80, 100,100);        f1.add(tf1);        f1.add(tf2);        f1.add(bt1);        f1.setVisible(true);        MyWindowAdapter mwa=new MyWindowAdapter();        f1.addWindowListener(mwa);        MyActionListener mal=new MyActionListener(tf1,tf2);        bt1.addActionListener(mal);    }    static class MyActionListener implements ActionListener{        TextField tf1;        TextField tf2;                MyActionListener(TextField tf1,TextField tf2){            this.tf1=tf1;            this.tf2=tf2;        }                @Override        public void actionPerformed(ActionEvent e) {            String str=tf1.getText();            int da=0;            int xiao=0;            int shu=0;            int han=0;            int els=0;            for(int i=0;i
='A'&&c<='Z') { da=da+1; }else if(c>='a'&&c<='z'){ xiao=xiao+1; }else if(c>='0'&&c<='9') { shu=shu+1; }else if(c>=0x4E00&&c<=0x9FA5) { han=han+1; }else { els=els+1; } } tf2.setText("大写:"+da+" 小写:"+xiao+" 数字:"+shu+" 汉字:"+han+" 其他"+els); } } static class MyWindowAdapter extends WindowAdapter{ public void windowClosing(WindowEvent e) { System.exit(-1); } }}

 

转载于:https://www.cnblogs.com/LPworld/p/10724131.html

你可能感兴趣的文章
使用实体框架、Dapper和Chain的仓储模式实现策略
查看>>
HTTP/2推送之难,远超想象
查看>>
与Bob McWhirter的问答:WildFly Swarm更名为Thorntail项目
查看>>
新书问答:Agile Management
查看>>
在sublime中实现代码检测
查看>>
活在伟大的Scrum团队是什么感觉
查看>>
Swift 5进入发布倒计时
查看>>
一套代码称霸5大端口,移动金融应用还能这样开发?
查看>>
MIT开发Polaris,使网页载入加快34%
查看>>
微软对macOS和Linux开放量子开发工具集
查看>>
一份关于Angular的倡议清单
查看>>
没有估算,你仍然可以用这些决策策略
查看>>
通过调研开源基准测试集,解读大数据的应用现状和开源未来
查看>>
译文-调整G1收集器窍门
查看>>
时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体
查看>>
开源是项“全民工程”,揭秘开源团队的管理运作
查看>>
基于Gitflow分支模型自动化Java项目工作流
查看>>
ES6学习之一
查看>>
专访何红辉:谈谈Android源码中的设计模式
查看>>
超2亿中国用户简历曝光!MongoDB又一重大安全事故
查看>>