java跳转图形界面代码_Java四则运算——图形化界面

本文介绍了使用Java实现一个四则运算的图形化界面程序,用户可以进行答题,程序能生成含有负数和括号的表达式。系统支持用户选择题目数量,答题时间限制,以及显示答题结果和用时。文章详细阐述了前后端交互、题目生成和答案校验等功能的实现代码。
摘要由CSDN通过智能技术生成

一.前提

(3)调试环境:IntelliJ IDEA ,CHORME浏览器

二.作业要求

(1)基本要求

自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。

用户可以输入答案。

若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。

(2)扩展要求

可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2 *(-4) = -8。

用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数。

用户答题结束以后,程序可以显示用户答题所用的时间。

程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。

(3)结对成员

三.时间估算

结对项目软件过程耗时估计表与统计表

(时间单位:小时)

PSP2.1

个人软件实现阶段

预计时间

实际时间

Planning

计划

1

2

· Estimate

估计这个任务需要多少时间

10

20

Development

开发

10

10

· Analysis

需求分析 (包括学习新技术)

1

1

· Design Spec

生成设计文档

1

1

· Design Review

设计复审

0.5

0.5

· Coding Standard

代码规范

1

1

· Design

具体设计

1

1

· Coding

具体编码

1

1

· Code Review

代码复审

0.5

0.5

· Test

测试(自我测试,修改代码,提交修改)

1

1

Reporting

报告

1

1

Test Report

测试报告

1

1

·workload

计算工作量

0.5

0.5

·correction

并提出过程改进计划

2

2

四:工作详情

(一)工作:

刘杰:             设计和编写界面交互部分、设计计时器。

梁铭标:          后台代码随机生成题目、前后端数据交互、判断正误。

(二) 部分功能代码介绍:

(1)题目获取功能:通过ajax异步获取一定数量的四则运算习题(前台)

$.ajax({

type: "POST",

url: "GetTitleInfoServlet",

dataType: "json",

data: jsonDate,

async:false,

contentType:"application/json;charset=UTF-8",

success: function (returnedData) {

var titleInfoJson = JSON.stringify(returnedData);

sessionStorage.setItem("title", titleInfoJson);

}

});

题目获取功能:通过ajax异步获取一定数量的四则运算习题(后台)

/**

* 响应前端ajax生成一定数量的四则运算习题并返回到前台

* @param request

* @param response

* @throws ServletException

* @throws IOException

*/

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// 设置请求与响应的编码

request.setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

response.setContentType("text/x-javascript;charset=utf-8");

response.setHeader("Cache-Control", "no-cache");

// 获取从页面中提交过来的JSON格式数据数据

String titleInfo = JsonService.readJSONData(request);

JSONObject titleInfoJson = JSONObject.parseObject(titleInfo);

// 根据前台传来的数据进行解析后生成相应的题目,并以JsonArray格式存储

JSONArray titleJsonArray = generateTitleJsonArray(titleInfoJson);

// 把生成的题目返回到前台

PrintWriter printWriter = response.getWriter();

printWriter.write(titleJsonArray.toJSONString());

printWriter.flush();

printWriter.close();

}

(2)用户提交功能:首先经过校验机制判断是否输入答案,之后进行答案的比对运算出答对题数量。

//用户点击按钮提交题目答案并计算用户的正确数以及错误数

$('#summitUserAnswer').click(function () {

$('#summitUserAnswer').addClass('disabled'); // Disables visually

$('#summitUserAnswer').prop('disabled', true); // Disables visually + functionally

//初始化用户做对题目的数目

var trueNum = 0;

for (var i = 0; i < titleJsonLength; i++) {

var userAnswer = document.getElementById("input" + i).value;

if (userAnswer == correctAnswerArray[i]) {

var code = "

正确

";

$('#title' + i).append(code);

trueNum++;

}else{

var code = "

你答错了,正确答案为"+ correctAnswerArray[i] +"

";

$('#title' + i).append(code);

}

}

//做错的题目数量

var falseNum = titleJsonLength - trueNum;

// var count = "

恭喜你完成,你用了"+statisticalTime()/1000+"秒

"

var submitCode = "

\n" +

"

\n" +

"

\n" +

"

答题结束
\n" +

"

恭喜你完成,你用了" + statisticalTime() / 1000 +

"秒, 你答对了" + trueNum + "道题, 答错了" + falseNum + "道题!请继续加油!" + "

\n" +

"

" +

"重新生成题目\n" +

"

" +

"

\n" +

"

\n" +

"

";

$('#TitleCard').append(submitCode);

});

五.软件演示

1.首先进行选择题目类型以及题目个数

0984edb6efb9491a14113127479f9339.png

0fe097f84c90360666d4f604e315a196.png

2.点击做题等待跳转到做题页面

9db8c4be94f575069838a0f3c869bb35.png

2d62365ea2c8678be9b4460687a8e598.png

3.计算题目后点击提交

02cf6b0cf1454219639a0085b1df3d6c.png

六:结对照片

0c4c0853675afadfadb199df878f1942.png

七:收获与感悟

在这一次结对小项目中,明确分工和一定的团队交流是非常重要的,可以达到事半功倍的效果。团队工作能增加成员的工作积极性。因为在面对问题的时候,会有人一起分担,共同尝试新的策略。两个人一起工作需要互相配合,如果想偷懒去干别的,就会拖延工作进度。在编程中,如果双方遇到一些问题,可以相互讨论,可以更快更有效地解决问题,互补双方的一些不足。本次结对子编程收益良多,感谢搭档刘杰的支持与帮助。

作者:buildings

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java课程设计实训大作业:记事本+简易计算器+聊天系统+日历+中英查询 基础任务一:设计日历软件 根据如下图,综合运用GUI编程、事件处理、Calendar类应用等知识设计一款月历,要求能通过输入(或选择)年月的方式正确显示当前月份的所有日期。 基础任务二:设计中英查询软件 根据Java面向对象程序设计相关理论,及GUI编程、事件处理、数据库编程等技术,设计一个如下图所示的“中英文释义查询”程序。输入英文单词,查询数据库将对应的中文显示在下框中;输入中文,查询数据库将对应的英文单词显示在下框中。 提升任务三:设计简易记事本软件 1.使用Java图形界面组件设计记事本软件的界面,参考如图所示。 2.程序代码规范,逻辑正确,能够正常运行。 3.“文件”菜单,包括“新建”、“打开”、“保存”、“另存为”和“退出”等功能。 提升任务四:设计简易计算器软件 1.使用Java图形界面组件设计软件,界面如图所示。 2.软件能够满足基本的“加、减、乘、除”等运算要求。 3.程序代码清晰,语法规范,结构合理,逻辑正确。 进阶任务五:自选主题开发一个应用软件(如在线聊天系统,学籍管理系统等)下面给的软件界面只是参考,同学们可以根据自己的想法进行设计。 1.软件界面美观、功能完善软件,导航清晰,操作方便,使用菜单栏、工具栏、布局管理器、按钮、表格等多种Java图形界面组件。 2.程序代码清晰,语法规范,结构合理,逻辑正确。 3.功能完善,程序代码优化,执行效率高,具有较好可维护性和可扩展性。 4.软件功能设计具有一定的难度和创意。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值