20165303 2017-2018-2 《Java程序设计》结对编程练习_四则运算
- 需求分析
能生成简单四则运算题目并判断用户回答对错。
能正确统计回答正确的概率。
能正确处理混合四则运算的优先级的问题。
能正确输出负数等结果。
能处理简单的加,减,乘,除运算。
能正确的处理有括号的情况并输出正确的运算结果,能正确处理输入异常的情况。 - 运行截图
代码实现
import java.util.;
public class sizeyunsuan {
public static void main(String[] args) {
System.out.println("输入测试题数目:");
Scanner sc=new Scanner(System.in);
int number=sc.nextInt();
double right = 0;
double wrong = 0;
for (int i = 0; i < number; i++) {
System.out.println("第"+(i+1)+"道题,请在下方输入答案:");
double op1=(int)(Math.random()10);
double op2=(int)(Math.random()10);
Random r3 = new Random();
int m = r3.nextInt(4);
char[] chs = {'+','-','','/'};
String Operator = String.valueOf(chs[m]);
//生成题目
if(Operator.equals("+")){
System.out.println(op1+"+"+op2+"=");
boolean b = add(op1,op2);
if(b == true){
right++;System.out.println("right! ");
}
else{
wrong++;System.out.println("no ");
System.out.println("right answer: "+(op1+op2));
}
}
else if(Operator.equals("-")){
System.out.println(op1+"-"+op2+"=");
boolean b =minus(op1,op2);
if(b == true){
right++;System.out.println("right! ");
}
else{
wrong++;System.out.println("no ");
System.out.println("right answer: "+(op1-op2));
}
}
else if(Operator.equals("")){
System.out.println(op1+"×"+op2+"=");
boolean b =times(op1,op2);
if(b == true){
right++;System.out.println("right! ");
}
else{
wrong++;System.out.println("no ");
System.out.println("right answer: "+(op1op2));
}
}
else{
System.out.println(op1+"÷"+op2+"=");
boolean b =Div(op1,op2);
if(b == true){
right++;System.out.println("right! ");
}else{
wrong++;System.out.println("no ");
System.out.println("right answer: "+op1/op2);
}
}
}
System.out.println("做对了"+right+"道题.");
System.out.println("做错了"+wrong+"道题.");
System.out.println("正确率为"+(right/(wrong+right))100+"%");
}
private static boolean add(double x,double y) {
Scanner sc = new Scanner(System.in);
double num1 = sc.nextDouble();
double result = x + y;
if(num1 == result){
return true;
}else{
return false;
}
}
private static boolean minus(double x,double y) {
Scanner sc = new Scanner(System.in);
double num1 = sc.nextDouble();
double result = x - y;
if(num1 == result){
return true;
}else{
return false;
}
}
private static boolean times (double x,double y) {
Scanner sc = new Scanner(System.in);
double num1 = sc.nextDouble();
double result = x y;
if(num1 == result){
return true;
}else{
return false;
}
}
private static boolean Div(double x,double y) {
Scanner sc = new Scanner(System.in);
double num1 = sc.nextDouble();
double result =x/y;
if(num1 == result){
return true;
}else{
return false;
}
}
}- whitestar运行图
码云链接
https://gitee.com/BESTI-IS-JAVA-2018/20165303WeiYujava/tree/master/src结对感受
通过这周的不断修改代码,不断地和小伙伴争论,终于修改出了基本实现功能的代码,然后就是实现功能,但是在运行的过程中还是有一些bug,不是太完美,由于时间紧张,本周的实验比较多,然后实现的比较粗糙,我会在以后的学习过程中继续实现这个代码。
20165303 2017-2018-2 《Java程序设计》结对编程练习_四则运算的更多相关文章
- 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算
2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...
- 20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第二周:整体性总结)
20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第二周:整体性总结) 结对对象与其博客链接 20175309 刘雨恒:https://www.cnbl ...
- 20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第一周:阶段性总结)
20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第一周:阶段性总结) 结对对象与其博客链接 20175309 刘雨恒:https://www.cnbl ...
- 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周
2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...
- 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...
- 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算——第一周
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址:点击这里 1. 需求分析: 可生成题目: - 输入要想生成 ...
- 2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算
2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算 需求分析: 支持整数,可进行多运算符运算,有优先级. 设计思路: 在有括号的情况下,先计算得出括号中的结果,如 ...
- 20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算
20165236 2017-2018-2 <Java程序设计>结对编程练习_四则运算 结对小组:叶佺.郭金涛 一.需求分析: 1.能随机生成n道四则运算题目,n由使用者输入: 2.支持多种 ...
- 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...
- 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结
20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...
随机推荐
- Flutter的脚手架(Scaffold)
- 【做题】Codeforces Round #429 (Div. 2) E. On the Bench——组合问题+dp
题目大意是给你n个数,求相邻两数相乘不是完全平方数的排列数. 一开始看到这题的时候,本人便想给相乘为完全平方数的数对建边,然后就写萎了... 后来通过集体智慧发现这个重要性质:对于自然数a,b,c,若 ...
- Bytomd 助记词恢复密钥体验指南
比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 背景知识 ...
- Docker网络配置概述
Overview One of the reasons Docker containers and services are so powerful is that you can connect t ...
- Entity Framework Core
Entity Framework是一种支持 .NET 开发人员使用 .NET 对象处理数据库的对象关系映射程序 (O/RM). 它不要求提供开发人员通常需要编写的大部分数据访问代码. Entity F ...
- 洛谷P1244 青蛙过河 DP/思路
又是一道奇奇怪怪的DP(其实是思路题). 原文戳>>https://www.luogu.org/problem/show?pid=1244<< 这题的意思给的挺模糊,需要一定的 ...
- 1、Python中的正则表达式(0601)
回顾: 1.文件对象: open('file','mode','bufsize') read,readline,readlines,write,writelines,flush,seek,tell 2 ...
- Python学习 day01打卡
1.Python : 是一门解释型 弱类型 高级开发编程语言. 2.第一个Python程序的编写: print ("hell,world") 3.变量:把程序运行过程中的值储存起来 ...
- Maven Web项目解决跨域问题
跨域问题目前笔者所用到的方案大致有三种:jsonp,SpringMVC 4以上注解方式和cros三方过滤器. Jsonp JSONP(JSON with Padding)是一个非官方的协议,它允许在服 ...
- 网页中Div的打印
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...