zoukankan      html  css  js  c++  java
  • 四则运算(三)

    1.设计思路

      接着上次的程序写,这周出题可以加入括号,但是带括号以及分数答案的计算还没有完成,还在思考,另外这次加入了数据库,可以将题目及答案存入数据表中,没有答案的题存为null值,连上数据库,用SQL语句就能存入。

    2.源代码

      

      1 <%@ page language="java" contentType="text/html; charset=UTF-8"
      2     pageEncoding="UTF-8" %>
      3     <%@ page import="jisuan.*" import="java.sql.*" import="chuti.*" import="dbcoon.*" %>
      4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      5 <html>
      6 <head>
      7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
      8 <title>自动出题</title>
      9 </head>
     10     
     11 <body>
     12     <%
     13     String type = request.getParameter("type");
     14     int cc=Integer.parseInt(request.getParameter("chengchu"));
     15     int kuohao=Integer.parseInt(request.getParameter("kuohao"));
     16     int fw=Integer.parseInt(request.getParameter("fanwei"));
     17     int num=Integer.parseInt(request.getParameter("num"));
     18     int chutishu=Integer.parseInt(request.getParameter("chutishu"));
     19     int da=Integer.parseInt(request.getParameter("daan"));
     20     int yushu=Integer.parseInt(request.getParameter("yushu"));
     21     int fushu=Integer.parseInt(request.getParameter("fushu"));
     22     
     23     JspWriter mout=pageContext.getOut();
     24      String []a=new String [chutishu];
     25     String []daan=new String[chutishu];
     26     
     27     //连数据库
     28     String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
     29     String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=Web";
     30     String userName="sa";
     31     String userPwd="ghs123456";
     32     Class.forName(driverName);
     33     Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
     34     
     35     Statement st = dbConn.createStatement();
     36     
     37     //出题
     38     for(int j=0;j<chutishu;j++){
     39         if(type.equals("zhengshu"))
     40             a[j]=Chuti.putong(num,cc,fw);
     41         else if(type.equals("zhenfenshu"))
     42             a[j]=Chuti.zhenfenshu(num,cc);
     43         else if(type.equals("douyou")){
     44             int m=(int)(Math.random()*2+1);
     45             if(m==1)
     46                 a[j]=Chuti.putong(num,cc,fw);
     47             else if(m==2)
     48                 a[j]=Chuti.zhenfenshu(num,cc);
     49         }
     50         //查重
     51         for(int k=0;k<j;k++){
     52             if(a[k].equals(a[j]))
     53                 {j--;break;}
     54             else
     55                 continue;
     56              }
     57         //加括号
     58         if(kuohao==1)
     59             a[j]=Chuti.kuohao(a[j],num);
     60         //计算结果(不带括号)
     61         if(kuohao==0)
     62         daan[j]=String.valueOf(Zhengshujisuan.fun1(a[j]));
     63         //多元运算结果无限循环处理
     64         if(type.equals("zhengshu")&&num>2&&kuohao==0){
     65              if (daan[j].length()-daan[j].indexOf(".")>5)
     66                  j--;
     67              else
     68                  continue;
     69     }
     70         //二元运算有无余数处理
     71         if(type.equals("zhengshu")&&yushu==0&&num==2){
     72                  if (daan[j].length()-daan[j].indexOf(".")>2)
     73                      j--;
     74                  else
     75                      continue;
     76         }
     77         //有无负数处理
     78         if(type.equals("zhengshu")&&fushu==0&&kuohao==0){
     79             if (daan[j].charAt(0)=='-')
     80                  j--;
     81         }
     82     }
     83     //输出题目并存入数据库
     84     for(int i=0;i<chutishu;i++){
     85         mout.print((i+1)+". "+a[i]+"<br>");
     86         
     87     }
     88     //如果是整数输出答案
     89     mout.print("答案:<br>");
     90     //有余数输出带余数的答案
     91     if(type.equals("zhengshu")&&yushu==1&&num==2){
     92         for(int i=0;i<chutishu;i++){
     93             if(daan[i].length()-daan[i].indexOf(".")>2){
     94                 int first=Integer.parseInt(a[i].substring(0,a[i].indexOf("÷")));
     95                 int second=Integer.parseInt(a[i].substring(a[i].indexOf("÷")+1,a[i].length()));
     96                 daan[i]=first/second+"········"+first%second;
     97             }
     98         }
     99     }
    100     if(type.equals("zhengshu")&&da==1){
    101         for(int i=0;i<chutishu;i++){
    102             mout.print(i+1+".    "+daan[i]+"<br>");
    103         }
    104     }
    105     for(int i=0;i<chutishu;i++){
    106     String sqlStr="INSERT INTO  出题 (No,题目,答案)VALUES('"+(i+1)+"' , '" + a[i] + "' ,'" + daan[i] + "'  )";
    107     st.executeUpdate(sqlStr);
    108     }
    109     st.close();
    110     dbConn.close();
    111     
    112     %>
    113 </body>
    114 </html>

    3.截图

  • 相关阅读:
    『中级篇』docker导学(一)
    计算机或许已经烂大街了,女生学计算机没出路吗?
    「初级篇」跟我一起学docker(17)--多节点mesos集群
    「初级篇」跟我一起学docker(18)--持续集成(初级终结篇)
    「初级篇」跟我一起学docker(16)--单节点mesos集群
    QT socket 多线程管理
    mysql数据库引擎 MyISAM和 InnoDB区别
    sql 删除表格delete drop truncate 区别(转)
    按层次遍历二叉树
    php基础排序算法 冒泡排序 选择排序 插入排序 归并排序 快速排序
  • 原文地址:https://www.cnblogs.com/ghs1065248758/p/6566920.html
Copyright © 2011-2022 走看看