实验二--四则运算-升级版--2

import java.util.*;
import java.util.Random;
import java.text.DecimalFormat;
public class SiZe {
    public static void main(String[] args) {

        String[] str_1 = new String[] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
        String[] str_2 = new String[] { "+", "-", "*", "/"};
        int index_1 = 0;
        int index_2 = 0;
        int[] a = new int[2];
        double data = 0;
        double answer = 0;
        int num = 0;
        int  num_1 = 0;
        DecimalFormat dFormat=new DecimalFormat("#.00");

        while(num_1 > 5 || num_1 <= 0)
        {
            System.out.print("请输入题目的数量(题目数量最多不能超过5个): ");
            Scanner sc = new Scanner(System.in);
            num_1 = sc.nextInt();
        }
        System.out.println("注意!除法计算结果保留两位,含四舍五入!!");
        long t1=System.currentTimeMillis();
        for(int k = 0; k < num_1; k++)
        {
            System.out.print("第"+(k+1)+"道题:");
            for(int i = 0; i < 2; i++)
            {
                index_1 = new Random().nextInt(9);

                if(str_2[index_2].equals("/") && index_1 != 0)
                {
                    while(index_1 == 0)
                    {  System.out.println("+++++++++++");
                        index_1 = new Random().nextInt(9);
                    }
                }
                a[i] = index_1;
                if(i != 1)
                {
                    index_2 = new Random().nextInt(4);
                }
            }

            System.out.print(str_1[a[0]]+str_2[index_2]+str_1[a[1]]+"=");
            Scanner input = new Scanner(System.in);
            data =input.nextDouble();

            switch(index_2)
            {
                case 0:
                    answer = a[0] + a[1];
                    break;
                case 1:
                    answer = a[0] - a[1];
                    break;
                case 2:
                    answer = a[0] * a[1];
                    break;
                case 3:
                    answer = (double)a[0] / a[1];
                    answer = (Math.round(answer*100)/100.0);
                    break;
            }

            if(data == answer)
            {
                System.out.println("你输入的答案正确!");
                num++;
            }
            else
            {
                System.out.println("你输入的答案错误!正确答案是: "+answer);

            }

            System.out.println();
            if((System.currentTimeMillis()-t1)/1000 >= 120)
            {
                System.out.println("时间已到,不能答题!");
                break;
            }
        }
        System.out.println(num_1+"道题目,你一共答对"+num+"道题目!");
        System.out.println("完成"+num+"道题目所用时间为: "+ (System.currentTimeMillis()-t1)/1000 + "秒!");
    }

}
时间: 2024-12-30 01:58:28

实验二--四则运算-升级版--2的相关文章

实验二----四则运算--结对

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOpti

实验二 四则运算 未完成版

package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListe

实验二 四则运算 完成版 ver.1

package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListe

实验二 四则运算

import java.util.Scanner; import java.util.*; public class sizeyunsuan { public static void main(String[] args) { Scanner in=new Scanner(System.in); int i=0,j=0,k=0,l=0,n=0,sum=0,result=0; int []num=new int[5]; String []a={"+","-",&quo

RIGHT-BICEP单元测试——“二柱子四则运算升级版”

RIGHT-BICEP单元测试 ——“二柱子四则运算升级版” ”单元测试“这对于我们来说是一个全新的专业含义,在上了软件工程这门课,并当堂编写了简单的"求一组数中的最大值"函数的单元测试之后,我们对它有了全新的认识. 单元测试:即为, 老师让我们回去之后将“二柱子四则运算升级版”的程序进行单元测试(二柱子程序的源码我已经上传,这里不再重复,只列举单元测试的部分和分析),如下: PS.这里附上老师上课讲的关于RIGHT-BICEP测试的方法: 6个值得测试的具体部位,他们能够提高我们的测

20145301《Java程序设计》实验二报告:Java面向对象程序设计

20145301<Java程序设计>实验二报告:Java面向对象程序设计 课程:Java程序设计 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容: 使用TDD的方式设计关实现复数类Complex 程序设计思路: 需求分析: 复数运算需要分:实部和虚部. 需要运行四则运算,即加.减.乘.除四种运算.  需要用户有输入,所以调用了Scanner实例,i

20172329 2017-2018-2 《程序设计与数据结构》实验二报告

20172329 2017-2018-2 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王文彬 学号:20172329 实验教师:王志强 实验日期:2018年4月21日 必修/选修: 必修 1.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 完成实验. 2. 实验过程及结果 一.理解内容 首先,我根据老师所给的几篇博客中大致了解了什么是TDD测试

20172303 2018-2019-1 《程序设计与数据结构》实验二报告

20172303 2018-2019-1 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 范雯琪 学号:20172303 实验教师:王志强 助教:张师瑜/张之睿 实验日期:2018年11月5日 必修/选修: 必修 实验内容 本次实验主要是关于树的应用, 涉及了二叉树.决策树.表达式树.二叉查找树.红黑树五种树的类型,是对最近学习内容第十章和第十一章的一个总结. 节点一 参考教材P212,完成链树LinkedBinaryTree的实现(get

MySQL数据库实验二:单表查询

实验二   单表查询 一.实验目的 理解SELECT语句的操作和基本使用方法. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1.查询全体学生的姓名.学号.所在系. SELECT Sname,S#,Sdept FROM S: 2.查询全体学生的详细记录. SELECT  * FROM S: 3.查全体学生的姓名及其出生年份. SELECT Sname,2011-Sage    /*假定当年的年份为2011年*/ FROM S: 4.查询选修了课程的学生学号.