社区
Java
帖子详情
新人求助,大侠们帮我看看
a654865909
2011-12-12 05:40:14
谁能帮我写一个十分简单的程序,大约是这样:"做十道选择题,最后算出总分。"就这样,十分简单,我才开始学所以做不来。谁愿意帮帮我请联系我好吗:QQ654865909
...全文
85
3
打赏
收藏
新人求助,大侠们帮我看看
谁能帮我写一个十分简单的程序,大约是这样:"做十道选择题,最后算出总分。"就这样,十分简单,我才开始学所以做不来。谁愿意帮帮我请联系我好吗:QQ654865909
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
脉动
2011-12-12
打赏
举报
回复
楼上很详细,lz赶紧结贴吧,
Lifehopeness
2011-12-12
打赏
举报
回复
package io;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
import java.util.ArrayList;
import java.util.StringTokenizer;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class EnglishExam extends JFrame implements ActionListener {
String strReadLine;//每次从题库文件提出的一行题目加答案
File fileExam;//题库文件
FileReader fin;//文件字符输入流
BufferedReader bin;//缓冲式字符输入流
JButton startBtn,nextBtn;
JRadioButton[] radiobtn;
JTextField questionTfd,scoreTfd;
int score;
ArrayList<String>array=new ArrayList<String>();//存储下一个题目的问题,选项和答案部分
EnglishExam(){
super("英语单词学习");
setLayout(new FlowLayout());
scoreTfd=new JTextField(10);
scoreTfd.setEditable(false);
questionTfd=new JTextField(50);
questionTfd.setEditable(false);
startBtn=new JButton("重新联系");
startBtn.addActionListener(this);
nextBtn=new JButton("下一题");
nextBtn.addActionListener(this);
radiobtn=new JRadioButton[4];
ButtonGroup b=new ButtonGroup();//单选按钮的ButtonGrop
for(int i=0;i<radiobtn.length;i++){
radiobtn[i]=new JRadioButton("");
b.add(radiobtn[i]);
radiobtn[i].addActionListener(this);
}
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
p1.add(new JLabel("题目"));
p1.add(questionTfd);
p2.add(new JLabel("选择答案"));
for(JRadioButton radion:radiobtn)
p2.add(radion);
p3.add(new JLabel("您的得分是:"));
p3.add(scoreTfd);
p4.add(startBtn);
p4.add(nextBtn);
add(p1);
add(p2);
add(p3);
add(p4);
setBounds(20,100,660,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
validate();
try{
fileExam=new File(this.getClass().getResource("").getPath(),"English.txt");
fin=new FileReader(fileExam);//实例化文件字符流对象fin
bin=new BufferedReader(fin);//实例化缓冲式字符输入流bin
}catch(IOException e){
e.printStackTrace();
}
readQuestionFromeFile();
}
public void readQuestionFromeFile(){//从题库中提取练习题的方法,并将问题和选项显示在JFrame框架中
int i=0;
array.clear();//清空array中的内容
try{
strReadLine=bin.readLine();//读取题库中的第一行
if(!(strReadLine.startsWith("endend"))){
StringTokenizer token=new StringTokenizer(strReadLine,"#");
while(token.hasMoreTokens()){
array.add(token.nextToken());
//
}
questionTfd.setText(array.get(0));
//array中存储的strReadLine分隔符的第一个子串代表“题目”,将它显示在问题文本框中
for(int j=1;j<=4;j++){
radiobtn[j-1].setSelected(false);
radiobtn[j-1].setText(array.get(j));
//array中存储的第二个到第五个字符串,代表的是选择题的四个选项,将他们分别显示在四个单选按钮部分
}
}else if(strReadLine.startsWith("endend")){
//如果读取出来的一行字符串是endend,表示所有的联系已经做完,读取结束
questionTfd.setText("考试结束");
for(int j=0;j<4;j++){
radiobtn[j].setText("end");//考试结束
radiobtn[j].setSelected(false);
bin.close();
fin.close();//关闭流
}
}
}catch(Exception e){
questionTfd.setText("无试题文件");
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==startBtn){
score=0;
scoreTfd.setText("得分:"+score);
try{
fin=new FileReader(fileExam);//实例化fin
bin=new BufferedReader(fin);//实例化缓冲式字符输入流
}catch(IOException e1){
e1.printStackTrace();
}
readQuestionFromeFile();//从题库文件中读取第一个练习题,并将显示在JFrame中
for(int j=0;j<4;j++){
radiobtn[j].setEnabled(true);//将四个单选按钮设置为可用状态
radiobtn[j].setSelected(false);
}
}else if(e.getSource() instanceof JRadioButton){
//如果触发动作事件的是四个单选按钮之一
for(JRadioButton radio:radiobtn){
if((radio.isSelected()&& radio.getText().trim().equals(array.get(5)))){
//array中存放的第六个元素是本题答案,如果用户单击了一个单选按钮并且单击了正确的选项
score++;
scoreTfd.setText("得分:"+score);
radio.setSelected(!(radio.isSelected()));
}
radio.setEnabled(false);//所有的单选按钮设置成不可用状态
}
}
}
public static void main(String[] args){
new EnglishExam();
}
}
题目你自己放在文件里面就好了
大唐剑客
2011-12-12
打赏
举报
回复
把题目直接贴出来大家帮你看看就好了。
白眉
大侠
武功排名
本文详细分析了小说《白眉
大侠
》中的武功排名,从普通门派弟子到绝顶高手,逐一列举并描述了各层级代表人物的实力和特点。主要角色如金灯剑客、万年古佛、白衣神童等的武功高低和实战表现也被详尽探讨,揭示了武林中的强弱格局。
天涯上的一篇恶搞武侠贴:如何成为
大侠
本文提供了一套详尽的武侠江湖生存法则,从孤儿出身到选择门派、拜师学艺、闯荡江湖直至成为一代
大侠
,涵盖了武侠小说中常见的成长路径。
蓝桥杯 log
大侠
Log
大侠
参加速算训练后能快速计算以2为底的对数, 应用此技能
帮
助好友drd对整数序列进行变换。具体变换规则是对序列中指定区间的每个整数求以2为底的对数并取下整, 需要计算变换后序列的总和。
java实现第五届蓝桥杯LOG
大侠
在一场关于序列变换的挑战中,Log
大侠
利用其速算能力,将整数序列中的每个元素转换为其以2为底的对数并加1,再计算序列的总和。好友drd提供了一系列的整数序列,Log
大侠
需要对指定的子序列进行变换,并报告每次变换后的序列总和。
用 Python 将神龙
大侠
搞怪 GIF 转为字符动画
本文介绍了一种将《功夫熊猫》中的神龙
大侠
阿宝的GIF动画转换为字符画的方法,包括将GIF分解为静态图片、转换为字符画并重新合成GIF的全过程。
Java
51,409
社区成员
86,087
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章