S
2026最新Java面试题合集(程序员就业必备)
首页
速度
优化工具
☰
首页
速度
收录
工具
首页
/
速度优化
/
【无线信道】无线信道仿真【含Matlab源码 15136期】含报告
网站优化
告别CLIPå±€é™�ï¼�SSVP框æ�¶å®�ç�°é›¶æ ·æœ¬å¼‚常检测,刷新7大数æ�®é›†SOTA
Linux服务器SSH免密登录全流程指南(含常见问题排查)
2026-06-13 00:46:09
阅读时长:4分钟
562次阅读
核心内容摘要
外贸站必备!WordPress经销商地图,多国家适配+自动检索,省爆客服力!
预期实现功能V
0准备数据 找到 单词与翻译的对照数据 存入到文件中在程序中读取文件中的数据V
0:1:随机抽取单词去掉其中某个字母要求用户输入这个字母填空2给出中文翻译输入单词 实现拼写3抽取单词给出4个选项 要求选择V
0:错题记忆将之间出错的题在新的练习再重复出现刷题的规划15天一轮模式选择CET-4/6高考 中考 等
功能实现先从最简洁的界面开始大概界面预期效果如下可以看到这里我们需要创建JFrame窗口对象然后添加标签JLabel和按钮JButton组件为了方便区分我们把初始窗口写到showUI方法中由于后续点击按钮后要进行窗体刷新操作为了便于编写我们导入一个面板JPanel组件在面板上进行操作public void showUI() { //wl.setPanel(panel); wl.setWordsUI(this); JFrame jf new JFrame(背单词); jf.setTitle(背单词); jf.setSize(500,
; jf.setLocationRelativeTo(null);//窗体居中显示到屏幕正中间 jf.setDefaultCloseOperation(
; //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel.setLayout(null);//没有布局所有的组件需要自己设置位置和大小 JLabel jl new JLabel(请选择题库); JButton jbu new JButton(CET-
; JButton jbu2 new JButton(CET-
; Font font new Font(微软雅黑, Font.BOLD,
;//设置字体 jl.setFont(font); jbu.setFont(font); jbu
setFont(font); panel.add(jl);//添加组件 panel.add(jbu); panel.add(jbu
; jl.setBounds(150, 100, 200,
;//调整位置 jbu.setBounds(150, 150, 200,
; jbu
setBounds(150, 200, 200,
; jbu.addActionListener(wl); jbu
addActionListener(wl); jf.add(panel);//添加面板 jf.setVisible(true);//可见 }初始界面设置完成后需要编写对应的响应操作我们可以创建一个WordListener监听类来编写对应的响应操作JButton组件对应的监听器为动作监听器ActionListener注意需要引用接口当我们点击按钮时触发以下判断注意这里的文件在项目同级文件夹下这里我们读取文件的方式为行读取先字符读取自动补全后将行读取操作放到字符读取第一个while循环内并将字符串根据#拆分成两部分分别存入engList数组和chnList数组内if(s.equals(CET-
){ //加载四级词库 File file new File(words/CET-
txt); //文件读取 //单个字节 FileReader fr null; try { fr new FileReader(file); //读取一行 BufferedReader br new BufferedReader(fr); while(true){ String line br.readLine(); if(linenull){ break; } //拆分字符串 String[] eng_chn line.split(#); engList.add(eng_chn[0]); chnList.add(eng_chn[1]); } } catch (FileNotFoundException ex) { throw new RuntimeException(ex); } catch (IOException ex) { throw new RuntimeException(ex); } //刷新界面 panel.removeAll();//移除 String wordgetWord(); UI.showUI2(word); Font font new Font(微软雅黑, Font.BOLD,
; /* JButton jbu new JButton(hello); jbu.setBounds(150,170,200,
; jbu.setFont(font); panel.add(jbu); */ //刷新 组件 panel.repaint(); panel.revalidate(); //出题 }getword函数作用为获取随机单词并挖空内容如下public String getWord(){ int sizeengList.size(); wordIndexran.nextInt(size); String wordengList.get(wordIndex); int word_lenword.length(); int indexran.nextInt(word_len); cword.charAt(index); String vwordword.substring(0,index)_word.substring(index1,word_len); return vword; }showUI2函数作用为显示新的标签挖空单词、输入框和按钮代码如下public void showUI2(String vword) { JLabel jlanew JLabel(请猜出单词缺失的字母); JLabel jl new JLabel(vword); JTextField jtf new JTextField(
; JButton jbu new JButton(提交); JButton jbu3 new JButton(下一个); Font font new Font(微软雅黑, Font.BOLD,
; jl.setFont(font); jtf.setFont(font); jbu.setFont(font); jbu
setFont(font); jla.setFont(font); jla.setBounds(150,0,300,
; jl.setBounds(150,50,300,
; jtf.setBounds(150,100,200,
; jbu.setBounds(150,200,200,
; jbu
setBounds(150,150,200,
; panel.add(jla); panel.add(jl); panel.add(jtf); panel.add(jbu); panel.add(jbu
; jbu
addActionListener(wl); jbu.addActionListener(wl); //将界面的组件对象的地址 传一份给监听器中声明的组件变量名 使得我们点击按钮时可以调用这些组件 设置文本 获取文本 wl.setWordsJla(jl); wl.setChJtf(jtf); }tips.由于showUI这里的标签、输入框和按钮需要重复使用所以需要传到监听类中方便后续使用、刷新和读取其他情况判断如下else if(s.equals(提交)){ String chchJtf.getText(); if (ch.length()
{ JOptionPane.showMessageDialog(panel,请输入答案); return; } char ncch.charAt(
; String wordengList.get(wordIndex); String chnchnList.get(wordIndex); if(cnc){ JOptionPane.showMessageDialog(panel,恭喜你回答正确 word chn); }else{ JOptionPane.showMessageDialog(panel,很抱歉回答错误 word chn); } }else if(s.equals(下一个)){ //下一题 String wordSgetWord(); wordJla.setText(wordS);//显示 chJtf.setText();//清空 }
完整代码添加了两种模式package HolidayMainPackage.day0125; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.util.ArrayList; import java.util.Random; //退出 保存功能每过五秒自动保存一次 //优化 public class WordsListener implements ActionListener { //绝对路径 //相对路径 ArrayListString engList new ArrayList(); ArrayListString chnList new ArrayList(); ArrayListString transList new ArrayList();//我自己的单词历史记录 //编号 猜对的次数 单词 中文(写一个单词类把这些属性存入类似于c语言结构体和结构体数组) JPanel panel; mainV1 UI; JLabel wordJla; JTextField chJtf; Random rannew Random(); char c; int wordIndex; int pattern; public void setWordsUI(mainV1 ui){ this.UI ui; this.panel ui.panel; } public void setWordsJla(JLabel jl) { this.wordJla jl; } public void setChJtf(JTextField jtf) { this.chJtf jtf; } Override public void actionPerformed(ActionEvent e) { String s e.getActionCommand(); if(s.equals(CET-
){ //加载四级词库 File file new File(words/CET-
txt); //文件读取 //单个字节 FileReader fr null; try { fr new FileReader(file); //读取一行 BufferedReader br new BufferedReader(fr); while(true){ String line br.readLine(); if(linenull){ break; } //拆分字符串 String[] eng_chn line.split(#); engList.add(eng_chn[0]); chnList.add(eng_chn[1]); } } catch (FileNotFoundException ex) { throw new RuntimeException(ex); } catch (IOException ex) { throw new RuntimeException(ex); } //刷新界面 panel.removeAll();//移除 String wordgetWord(); UI.showUI2(word); Font font new Font(微软雅黑, Font.BOLD,
; /* JButton jbu new JButton(hello); jbu.setBounds(150,170,200,
; jbu.setFont(font); panel.add(jbu); */ //刷新 组件 panel.repaint(); panel.revalidate(); //出题 }else if(s.equals(提交)){ String chchJtf.getText(); if (ch.length()
{ JOptionPane.showMessageDialog(panel,请输入答案); return; } if(pattern
{ pattern1(ch); }else if(pattern
{ pattern2(ch); }else{ JOptionPane.showMessageDialog(panel,请选择题库); } }else if(s.equals(下一个)){ //下一题 pattern ran.nextInt(
; System.out.println(pattern); if(pattern
{ panel.removeAll();//移除 String wordgetWord(); UI.showUI2(word); }else if(pattern
{ panel.removeAll();//移除 String wordgetChinese(); UI.showUI2(word); System.out.println(pattern); }else{ JOptionPane.showMessageDialog(panel,请选择题库); } /*String wordSgetWord(); wordJla.setText(wordS);//显示 chJtf.setText();//清空 */ // 缺少这两行 panel.revalidate(); panel.repaint(); } } public String getWord(){ int sizeengList.size(); wordIndexran.nextInt(size); String wordengList.get(wordIndex); int word_lenword.length(); int indexran.nextInt(word_len); cword.charAt(index); return word.substring(0,index)_word.substring(index1,word_len); } public String getChinese(){ int sizechnList.size(); wordIndexran.nextInt(size); return chnList.get(wordIndex); } //字母填空 public void pattern1(String ch){ char ncch.charAt(
; String wordengList.get(wordIndex); String chnchnList.get(wordIndex); if(cnc){ JOptionPane.showMessageDialog(panel,恭喜你回答正确\n word chn); }else{ JOptionPane.showMessageDialog(panel,很抱歉回答错误\n word chn); } } public void pattern2(String ch){ String ncengList.get(wordIndex); String wordengList.get(wordIndex); String chnchnList.get(wordIndex); if(ch.equals(nc)){ JOptionPane.showMessageDialog(panel,恭喜你回答正确\n word chn); }else{ JOptionPane.showMessageDialog(panel,很抱歉回答错误\n word chn); } } }package HolidayMainPackage.day0125; import javax.swing.*; import java.awt.*; import java.util.Random; public class mainV1 { JPanel panel new JPanel(); WordsListener wl new WordsListener(); public void showUI() { //wl.setPanel(panel); wl.setWordsUI(this); JFrame jf new JFrame(背单词); jf.setTitle(背单词); jf.setSize(500,
; jf.setLocationRelativeTo(null);//窗体居中显示到屏幕正中间 jf.setDefaultCloseOperation(
; //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel.setLayout(null);//没有布局所有的组件需要自己设置位置和大小 JLabel jl new JLabel(请选择题库); JButton jbu new JButton(CET-
; JButton jbu2 new JButton(CET-
; Font font new Font(微软雅黑, Font.BOLD,
; jl.setFont(font); jbu.setFont(font); jbu
setFont(font); panel.add(jl); panel.add(jbu); panel.add(jbu
; jl.setBounds(150, 100, 200,
; jbu.setBounds(150, 150, 200,
; jbu
setBounds(150, 200, 200,
; jbu.addActionListener(wl); jbu
addActionListener(wl); jf.add(panel); jf.setVisible(true); } public void showUI2(String vword) { JLabel jlanew JLabel(请猜出单词缺失的字母); JLabel jl new JLabel(vword); JTextField jtf new JTextField(
; JButton jbu new JButton(提交); JButton jbu3 new JButton(下一个); Font font new Font(微软雅黑, Font.BOLD,
; jl.setFont(font); jtf.setFont(font); jbu.setFont(font); jbu
setFont(font); jla.setFont(font); jla.setBounds(150,0,300,
; jl.setBounds(150,50,300,
; jtf.setBounds(150,100,200,
; jbu.setBounds(150,200,200,
; jbu
setBounds(150,150,200,
; panel.add(jla); panel.add(jl); panel.add(jtf); panel.add(jbu); panel.add(jbu
; jbu
addActionListener(wl); jbu.addActionListener(wl); //将界面的组件对象的地址 传一份给监听器中声明的组件变量名 使得我们点击按钮时可以调用这些组件 设置文本 获取文本 wl.setWordsJla(jl); wl.setChJtf(jtf); } public static void main(String[] args) { mainV1 main new mainV1(); main.showUI(); } }未完后续会更新V
0的选择模式和V
0模式相关记忆功能
丝瓜秋葵草莓香蕉榴莲绿-丝瓜秋葵草莓香蕉榴莲绿应用
相关标签
浅井舞香:风华绝代,倾国倾城,一眼万年
大雷的宝库:不止于奇珍异宝,更是心灵的栖息地
深夜的秘密花园:黄色软件下载大全3.3.0,开启你的精选漫画沉浸之旅
探寻“秘”的万千姿态:一次关于未知与好奇的奇幻旅程
《暴躁老妈》1-24集全集:笑泪交织,治愈你我,一场关于爱与成长的家庭狂想曲
【吃瓜在线观看】全网第一手八卦,你敢信?
尘封的芬芳:被采摘污染的茜
缝补时光的裂隙:xxx91式家庭成长档案里的爱与和解
办公室激情与厕所激情
BBBB嗓还是BBB嗓:一场关于声音魅力的终极辩论
大雷插大狙:点燃梦想的火花,驰骋未来的荣耀
携手共筑,爱的奇迹:当“帅哥美女”遇上生命新生
国货当潮,18载砥砺前行,见证“国产18”的辉煌蜕变
“泳装小南吃长门吃萝卜”
🔍
📑
文章目录
二、探秘“胡桃流”:当眼泪、口水与翻白眼交织的奇幻篇章
三、国产成年视频
四、踏浪而行,逐梦苍穹:R星每日大赛线路,一场不容错过的冒险
五、墨染风华:黑色双开叉旗袍,勾勒东方韵味的极致诱惑
🔥
热门优化文章
四字节十六进制转化为单精度IEEE 754 浮点数
2026-05-16 23:19:13
如何顺畅访问github?
2026-05-16 23:19:13
🛠️
实用工具推荐
深夜的“惊喜”:我的“召唤”与“亲妈”的“意外”
玩具的秘密:一个被迫成为测试员的奇幻漂流
相关优化文章 推荐
拆箱狂欢:当男女齐聚“拆拆拆”,是心动还是“痛”?
师道传薪,情深致远:那段关于“亲密指导”的毕业绝响
2026-06-13 00:46:09 6分钟阅读
9.1成长视频:定格时光,定格不一样的你
探索未知的边界:91猎奇,带你领略这世界不为人知的另一面
2026-06-13 00:46:09 5分钟阅读
申鹤的“湿身”诱惑:不止于眼泪,更是情感的洪流
《丰裕纵满杨贵妃》如何观:一场跨越时空的盛宴与沉思
2026-06-13 00:46:09 7分钟阅读
↑
百度百家号客服电话人工服务
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3