`
mawb
  • 浏览: 14287 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于控制语句的算术运算考试系统模拟

 
阅读更多

简单的考试系统的代码,需要进一步改进,和大家分享一下:

package day04;

import java.util.Scanner;

public class ArithmeticSoftSysFor {

 /**
  * 算术运算生成器,考试系统 1.产生随机数:两个数和一个符号 2.出题 3.输入答案 4.判断 5.求出几道题是对的,并算出分数
  */

 /**
  * 随机数方法 return int type 1或2
  */
 public static int getRander(int type) {
  int rand = 0;
  if (type == 1) {
   rand = (int) (Math.random() * 100);
  } else if (type == 2) {
   rand = (int) (Math.random() * 4);
  }
  return rand;
 }

 /**
  * 把op操作符:变为+/*-符号
  */
 public static char operator(int op) {
  char charop = '0';
  switch (op) {
  case 1:
   charop = '+';
   break;
  case 2:
   charop = '-';
   break;
  case 3:
   charop = '*';
   break;
  case 4:
   charop = '/';
   break;
  default:
   charop = '0';
  }
  return charop;
 }

 /**
  * 计算结果方法:参数char charop,int rand1,int rand2 retun int ans:答案
  *
  */

 public static int getResultAnswer(char charop, int rand1, int rand2) {
  int ans = -1;
  switch (charop) {
  case '+':
   ans = rand1 + rand2;
   break;
  case '-':
   ans = rand1 - rand2;
   break;
  case '*':
   ans = rand1 * rand2;
   break;
  case '/':
   ans = rand1 / rand2;
   break;
  default:
  }
  return ans;
 }

 /**
  * 从键盘输入一个数:有chance次机会
  */

 public static int getInput(int num, int chance) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个数据:谢谢!你有" + chance + "机会!");
  num = sc.nextInt();
  
  return num;
 }

 /**
  * 从键盘输入一个数:
  */

 public static String getInputExam(String isExam) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个数据yes or no:谢谢!");
  isExam = sc.nextLine();
  return isExam;
 }

 /**
  * 判断:输入的数据和答案是否相等 return boolean 参数:ans,num,sum,score
  */
 public static boolean getEqual(int ans, int num, int sum, int score,
   int count) {
  boolean flag = false;
  if (num == ans) {
   ++count;// 计算题对的数目加1
   sum = sum + score;// 计算分数的和
   flag = true;
   System.out.println("恭喜你,回答正确!你答对了" + count + "道题,得到分数为:" + sum);
  } else if (num > ans) {
   flag = false;
   System.out.println("你输入太大力了!");
  } else {
   flag = false;
   System.out.println("你输入太大小了!");
  }
  return flag;
 }

 
 public static void main(String[] args) {

  // 随机数
  int rand1 = 0;
  int rand2 = 0;
  int op;
  int ans = 0;// 计算结果
  int num = 0;// 输入答案
  int score = 10;
  int sum = 0;
  int count = 0;
  int chance = 2;
  boolean isRight = false;
  char charop = '0';
  String isExam = "";
  start: while (true) {
   rand1 = getRander(1);
   rand2 = getRander(1);
   op = getRander(2);
   charop = operator(op);
   ans = getResultAnswer(charop, rand1, rand2);
   while (chance != 0) {
    num = getInput(num, chance);
    chance--;//减少一次机会
    isRight = getEqual(ans, num, sum, score, count);
    if (isRight) {
     System.out.println("恭喜你,回答正确!你答对了" + count + "道题,得到分数为:"
       + sum);
     // 是否还答题
     isExam = getInputExam(isExam);
     if (isExam.equals("yes")) {
      continue start;
     } else {
      break start;
     }

    } else {
     System.out.println("对不起,回答错误!你答对了" + count + "道题,得到分数为:"
       + sum);
     // 是否还答题
     isExam = getInputExam(isExam);
     if (isExam.equals("yes")) {
      continue start;
     } else {
      break start;
     }
    }
   }

  }

 }
}

2
0
分享到:
评论

相关推荐

    c++课程设计:学生算术运算系统

    ### C++课程设计:学生算术运算系统 #### 一、项目概述 本课程设计的主要目的是为小学生开发一个算术运算练习系统。该系统能够帮助孩子们通过实际操作提高其四则运算(加减乘除)的能力,特别是对于含有括号的复杂...

    图解PLC控制系统梯形图和语句表

    它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。 2. 梯形图(Ladder Diagram)和语句表...

    VHDL语言8位ALU设计

    2. **控制信号**:ALU的操作取决于一组控制信号,比如选择算术运算(加法、减法)还是逻辑运算(AND、OR、NOT、XOR等)。此外,还需要控制位如进位控制(Carry In/Carry Out)、借位控制(Borrow In/Borrow Out)等...

    c语言高精度运算,全加器模拟程序

    在C语言中,我们通常使用字符数组来存储这些大数,并通过循环和其他控制结构来模拟算术运算,如加法、减法、乘法和除法。 ### 全加器模拟程序 全加器是数字电路中的一个基本单元,用于执行二进制数的加法。在软件...

    设计一个4位的算术逻辑单元

    用3位操作码进行运算,控制方式如下表所示。 运算操作码  运 算 对标识位Z和C的影响 000 result ←A+B 影响标志位Z和C 001 result ←A+1 影响标志位Z和C 010 result ←A-B 影响标志位Z和C 011 result ←A-1 影响...

    整数运算表达式及赋值语句翻译

    整数运算表达式是包含一个或多个整数以及运算符的组合,这些运算符用于对整数进行算术运算。常见的整数运算符包括加(+)、减(-)、乘(*)、除(/)和取模(%)。例如,`5 + 3` 是一个简单的整数运算表达式,其...

    计算机2级C语言模拟考试

    1. **基本语法**:包括变量声明、数据类型(如int, char, float等)、运算符(算术、比较、逻辑、位操作等)、流程控制(if语句、switch语句、for循环、while循环等)。 2. **函数**:C语言中的函数是代码组织的...

    alu.rar_alu_alu逻辑运算

    逻辑运算主要用于处理布尔逻辑,这是计算机程序的基础,例如在条件判断、循环控制语句中。 四、ALU在计算机系统中的作用 在计算机系统中,ALU是CPU的重要组成部分,负责执行所有的算术和逻辑运算。当CPU接收到一条...

    C普通车床控制系统PLC控制程序.pdf

    它采用了一类可编程的存储器,用 于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种机械或生产过程。 PLC采用的循环扫描的工作方式,即顺序...

    信用社计算机考试模拟题.doc

    【信用社计算机考试模拟题】相关的知识点主要包括计算机基础、操作系统、软件分类、程序设计、文字处理、数据库系统、字符编码、资源管理和DOS系统命令等多个方面。 1. 计算机基础: - 微型计算机的三条总线是数据...

    可编程控制器应用(机考模拟题).pdf

    它采用可编程的存储器,用于内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,以此来控制各种类型的机械或生产过程。本篇将围绕PLC的应用、分类、硬件结构、工作原理、编程语言以及常见问题展开...

    基于PLC的全自动洗衣机控制系统设计论.pdf

    1. PLC在自动化控制系统中的应用:PLC是一种用于工业自动化的电子系统,能够执行逻辑运算、顺序控制、定时、计数和算术运算等功能。它通过数字的或模拟的输入输出接口控制机械或生产过程,易于与多种控制系统集成,...

    自动化毕业论文答辩PPT-球团生产线的PLC控制系统设计成品系统.pptx

    基本指令包括逻辑运算指令、算术运算指令和比较指令等。高级指令包括定时器指令、计数器指令和数据处理指令等。这些指令可以根据需要进行组合,实现复杂的控制逻辑。 知识点四:西门子S7-300/400系列PLC的编程方式 ...

    PLC控制的花样喷泉系统.doc

    PLC(可编程逻辑控制器)最初主要用于逻辑控制,但随着时间的发展,其功能逐渐增强,涵盖了模拟量控制和算术运算,因此在1980年被美国电器制造协会(NEMA)重新定义为可编程控制器,简称PC,尽管这个名称可能与个人...

    计算机组成原理八位运算器的设计

    本设计的目标是创建一个具有寄存器的八位运算器模块,该模块能够执行算术运算(如加法、减法和移位运算)以及逻辑运算(如与运算、或运算),并且能够对结果进行判零和进位检测。 #### 模块设计规格及输入输出端...

    PLC控制系统在油田生产中的应用.pdf

    该系统通过软件编程,能够执行逻辑运算、顺序控制、定时、计数和算术运算等操作,并通过数字或模拟输入/输出控制各种类型的机械或生产过程。 在油田生产中,PLC控制系统发挥了至关重要的作用。油田生产是一个集成了...

    2022年全国计算机四级考试网络操作系统模拟多选题.docx

    5. **用户态指令**:算术运算指令可以在用户态下执行,而设置控制寄存器、关中断和切换栈指针指令属于特权指令,只能在核心态(内核态)下执行。因此,选项B正确。 6. **进程优先级**:进程的优先级信息存储在进程...

    可编程控制器原理及应用.pptx

    它具有存储器、可以编制程序的控制器,可以存储和执行命令,进行逻辑运算、顺序控制、定时、计数和算术运算等操作,并通过数字式和模拟式的输入输出,控制各种类型的机械或生产过程。 知识点一:可编程控制器的定义...

    基于PLC的全自动洗衣机控制系统设计.doc

    在全自动洗衣机控制系统中,PLC能够处理逻辑控制、定时、计数和算术运算等功能,通过数字和模拟输入/输出接口,控制洗衣机的各个工作环节。 2. 全自动洗衣机控制系统总体控制方案 在设计全自动洗衣机控制系统时,...

Global site tag (gtag.js) - Google Analytics