首页 > 其他分享 >2023.10.19

2023.10.19

时间:2023-10-22 23:25:21浏览次数:39  
标签:num1 num2 19 2023.10 operator import servlet response

1.0版本生成四则运算并存入数据库

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/RandomArithmetic")
public class RandomArithmeticServlet extends HttpServlet {


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 调用ArithmeticServlet获取结果
ArithmeticServlet arithmeticServlet = new ArithmeticServlet();
try {
arithmeticServlet.doGet(request, response);
} catch (IOException e) {
e.printStackTrace();
}

// 将结果传递给result.jsp页面
request.getRequestDispatcher("/result.jsp").forward(request, response);
}
}

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/ArithmeticServlet")
public class ArithmeticServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 随机生成两个数字
int num1 = new Random().nextInt(100);
int num2 = new Random().nextInt(100);

// 随机选择一个四则运算操作符
String[] operators = {"+", "-", "*", "/"};
String operator = operators[new Random().nextInt(operators.length)];

// 计算结果
double result = calculate(num1, num2, operator);

// 保存运算结果到数据库
saveToDatabase(num1, num2, operator, result);

// 输出结果到客户端
response.setContentType("text/html");
response.getWriter().println("<html><head><title>Arithmetic Operation</title></head><body>");
response.getWriter().println("<h1>Arithmetic Operation</h1>");
response.getWriter().println("<p>Number 1: " + num1 + "</p>");
response.getWriter().println("<p>Number 2: " + num2 + "</p>");
response.getWriter().println("<p>Operator: " + operator + "</p>");
response.getWriter().println("<p>Result: " + result + "</p>");
response.getWriter().println("</body></html>");
}

// 执行四则运算
public double calculate(int num1, int num2, String operator) {
switch (operator) {
case "+":
return num1 + num2;
case "-":
return num1 - num2;
case "*":
return num1 * num2;
case "/":
return (double) num1 / num2;
default:
return 0.0;
}
}

// 保存运算结果到数据库
public void saveToDatabase(int num1, int num2, String operator, double result) {
Connection connection = null;
try {
// 建立数据库连接
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "123456");

// 插入数据
String insertQuery = "INSERT INTO arithmetic_results (num1, num2, operator, result) VALUES (?, ?, ?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(insertQuery);
preparedStatement.setInt(1, num1);
preparedStatement.setInt(2, num2);
preparedStatement.setString(3, operator);
preparedStatement.setDouble(4, result);
preparedStatement.executeUpdate();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet({"/ArithmeticServlet"})
public class ArithmeticServlet extends HttpServlet {
public ArithmeticServlet() {
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int num1 = (new Random()).nextInt(100);
int num2 = (new Random()).nextInt(100);
String[] operators = new String[]{"+", "-", "*", "/"};
String operator = operators[(new Random()).nextInt(operators.length)];
double result = this.calculate(num1, num2, operator);
this.saveToDatabase(num1, num2, operator, result);
response.setContentType("text/html");
response.getWriter().println("<html><head><title>Arithmetic Operation</title></head><body>");
response.getWriter().println("<h1>Arithmetic Operation</h1>");
response.getWriter().println("<p>Number 1: " + num1 + "</p>");
response.getWriter().println("<p>Number 2: " + num2 + "</p>");
response.getWriter().println("<p>Operator: " + operator + "</p>");
response.getWriter().println("<p>Result: " + result + "</p>");
response.getWriter().println("</body></html>");
}

public double calculate(int num1, int num2, String operator) {
byte var5 = -1;
switch(operator.hashCode()) {
case 42:
if (operator.equals("*")) {
var5 = 2;
}
break;
case 43:
if (operator.equals("+")) {
var5 = 0;
}
case 44:
case 46:
default:
break;
case 45:
if (operator.equals("-")) {
var5 = 1;
}
break;
case 47:
if (operator.equals("/")) {
var5 = 3;
}
}

switch(var5) {
case 0:
return (double)(num1 + num2);
case 1:
return (double)(num1 - num2);
case 2:
return (double)(num1 * num2);
case 3:
return (double)num1 / (double)num2;
default:
return 0.0D;
}
}

public void saveToDatabase(int num1, int num2, String operator, double result) {
Connection connection = null;

try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "123456");
String insertQuery = "INSERT INTO arithmetic_results (num1, num2, operator, result) VALUES (?, ?, ?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(insertQuery);
preparedStatement.setInt(1, num1);
preparedStatement.setInt(2, num2);
preparedStatement.setString(3, operator);
preparedStatement.setDouble(4, result);
preparedStatement.executeUpdate();
} catch (SQLException | ClassNotFoundException var17) {
var17.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException var16) {
var16.printStackTrace();
}

}

}
}

<%--
Created by IntelliJ IDEA.
User: 郑天羽
Date: 2023/10/16
Time: 15:41
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>Arithmetic Result</title>
</head>
<body>
<h1>Arithmetic Result</h1>
<p>Result: ${result}</p>
</body>
</html>


标签:num1,num2,19,2023.10,operator,import,servlet,response
From: https://www.cnblogs.com/ztydebeishanglaojia/p/17781363.html

相关文章

  • 2023.10.20
    四则运算2.0失败版本server.port=8080spring.datasource.url=jdbc:h2:mem:testedspring.datasource.driverClassName=org.h2.Driverspring.datasource.username=saspring.datasource.password=passwordspring.jpa.hibernate.ddl-auto=updatepackagecom.example.mathquiz;//替换......
  • 2023.10.17
    第13节:估算这一节强调了估算在软件开发中的重要性,并提供了一些建议来提高估算的准确性。1.通过学习估算并发展直觉,你可以展现出一种魔法般的能力,来确定任务的可行性。2.让估算更准确的单位值和描述方法是至关重要的,比如将时间估算从粗略的“大约6个月”改进为更精确的“130个......
  • 2023-2024-1 20231319《计算机基础与程序设计》第四周学习总结
    2023-2024-120231319邓传山《计算机基础与程序设计》第3周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01这个作业的目标学习《计算机科学概论(第7版)》第4、5章......
  • 2023-2024-1 20231419 《计算机基础与程序设计》第四周学习总结
    2023-2024-120231419《计算机基础与程序设计》第四周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04这个作业的目标预习《计算机科学概......
  • 2023.10.22——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.休息明日计划:学习......
  • 2023.10.22博客
    有一段时间没写博客了,主要原因是忘了写了,哈哈哈。这段时间把分支与循环的内容收了尾,并开启了一个全新篇章函数,我会将我的笔记贴在下面:库函数(cplusplus.com/reference/clibrary/库函数查询)常见库函数 strcpy//strcpy-stringcopy-字符串拷贝#include<stdio.h>#include<s......
  • CentOS 8 Stream vs Anolis8.8 对比(2023.10)
    硬件环境Honor笔记本电脑,16GRAM,512GSSD,本机自带无线网卡,外接USB有线网卡安装Anolis8.8到一个128GKingstonU盘,出现如下现象显卡驱动无法支持笔记本的外接显示器;中文输入法无法自动工作;内核版本为5.10;本机的无线网卡未自动识别重新安装CentOS8Stream......
  • 2023-2024-1 20211319《计算机基础与程序设计》第四周学习总结
    2023-2024-120211319《计算机基础与程序设计》第周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04这个作业的目标<写上具体方面>作业正文......
  • ABB AC900F学习笔记327:WINCC7.5SP2作为OPC SERVER,freelance2019SP2作为OPCC LIENT练习
    这一篇博客我在新浪博客记录过,地址是 ABBAC900F学习笔记327:WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT练习_来自金沙江的小鱼_新浪博客(sina.com.cn)为了避免丢失,我在这里再次记录一遍今天做一个练习,WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT。......
  • 2023-10-19-周四
    已经忘记了这一天干了什么的只是记得........准备搭建一个vmware的ARM的虚拟机....因为CPU不能直接支持,所以不行找了另外一个基于qmenu.exe的教程,但是不太成熟最后还是基于手机成功搭建了一个可以运行ARM64的elf环境然后这一天好像,,就什么也没干了晚上出去吃饭,,,tyj一不......