首页
旦复旦兮
综合交流
菁菁校园
毕业友人
招聘就业
活动中心
信息市场
学术交流
外语角落
资讯问答
影音部落
情感角落
本讨论区 上一篇 下一篇 发表帖子 打印本页 
大神求帮忙,在此先谢过各位
发信人: fred_tang  版面: 旦复旦兮  浏览: 1521  回复: 1
1 楼  fred_tang   发表于: 2014/10/5 6:03:20    编辑   

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TestProblem extends JFrame implements ActionListener,KeyListener,MouseListener{
int number=0;
int error=0;
int correct=0;
JMenuBar gjt;
JMenu cd;
JMenuItem cd1,cd2,cd3;
JScrollPane gdt;
JTextArea wby;
ArrayList<Problem> list=new ArrayList<Problem>();
public static void main(String[] args){
TestProblem sp=new TestProblem();
}
TestProblem(){
cd=new JMenu("选项(C)");
cd.setMnemonic('C');

cd1=new JMenuItem("开始(S)");
cd1.setMnemonic('S');
cd1.addActionListener(this);
cd1.setActionCommand("1");

cd2=new JMenuItem("退出(E)");
cd2.setMnemonic('E');
cd2.addActionListener(this);
cd2.setActionCommand("2");

cd3=new JMenuItem("关于");
cd3.addActionListener(this);
cd3.setActionCommand("3");

gjt=new JMenuBar();
wby=new JTextArea();
wby.setLineWrap(true);
wby.addMouseListener(this);
wby.addKeyListener(this);
wby.setBackground(Color.lightGray);
gdt=new JScrollPane(wby);

cd.add(cd1); cd.add(cd2);
gjt.add(cd);gjt.add(cd3);

this.add(gjt,BorderLayout.NORTH);
this.add(gdt);

this.setTitle("100以内加减法练习");
this.setSize(400,300);
this.setLocation(300,150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);

}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("1")){
for(int i=0;i<100;i++){
list.add(new Problem());
}
Font font=new Font("宋体",Font.BOLD,20);
wby.setFont(font);
wby.setForeground(Color.MAGENTA);
wby.setText("注意事项"+'\n'+"1、请按回车键开始答题"+'\n'+"2、做完检查后,点击鼠标左键进入下一题"+'\n'+"3、做错的题目记得再看一遍");
}
if(e.getActionCommand().equals("2")){
wby.setText("正确题数:"+correct+'\n'+"错误题数:"+error+'\n'+"(^ω^)!");
}
if(e.getActionCommand().equals("3")){
wby.setText("Version 1.0"+'\n'+"作者:Beautiful的一天");
wby.setEditable(false);
}
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode()==KeyEvent.VK_ENTER){
String str=wby.getText();
String str1=str.substring(str.lastIndexOf("=")+1);
int d=Integer.parseInt(str1);
if(d==list.get(number-1).answer){
wby.setForeground(Color.blue);
wby.append(" "+"回答正确");
correct++;
}else{
wby.setForeground(Color.RED);
wby.append(" "+"回答错误");
error++;
}
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getButton()==e.BUTTON1){
wby.setForeground(Color.BLACK);
wby.setText(list.get(number).question);
number++;
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
}
class Problem{
int a,b;
int choice;
int answer=0;
String question;
Problem(){
a=(int)(Math.random()*100);
b=(int)(Math.random()*100);
choice=(int)(Math.random()*1);
if(choice==0){
question=new String(a+"+"+b+"=");
answer=a+b;
}else if(choice==1){
if(a<b){
int c=b;
b=a;
a=c;
}
question=new String(a+"-"+b+"=");
answer=a-b;
}
}
}
请问怎么把上面的源代码改成符合
“(1)要求题目以单项选择题的形式出现。<?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office"></?xml:namespace>
(2)完成一题后自动判断答案是否正确,分别弹出不同的提示,并自动更新成下一题。
(3)单击“退出”时,汇总本次计算结果,共完成几题,正确率,并给出相应评语。确定后正式退出。”的要求”还有就是哪些不需要,可删掉?求各路大神


2 楼  失物招领   发表于: 2014/10/5 22:01:53    编辑   

太长不看

表情

2006-2017 fdubbs.com 旦复旦兮bbs 站 Processed in 0.01 second(s) 帮助文档 举报投诉 隐私条款 友情链接 认证会员 联系我们