航空行李运费

前言

Web初学者的小积累,整体还是很简陋的=.=大佬看到这里可以点小叉叉了

题目要求

重量不超过30公斤的行李可以免费托运,重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其他舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。

实际效果

在这里插入图片描述

在javaee中的效果(没法查看动图,应该是javaee自带的简单浏览器?以后有机会更改一下运行时默认打开的浏览器……)
在这里插入图片描述
在这里插入图片描述

这个图片的背景可以变换,花里胡哨的,但是个人感觉很nice👌
在这里插入图片描述
在这里插入图片描述
实际功能展示,每次填写完都能自动刷新

小知识点

一.关于getParameterValues和getParameter

request.getParameterValues(String name)是获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkobx类型
request.getParameter(String name)是获得相应名的数据,如果有重复的名,则返回第一个的值。接收一般变量 ,如text类型

二.String转Double

Double m= Double.parseDouble(t);JAVA基操。request获得的值都是string类型,只能转换一下,不知道还有没有更方便的方法直接获得想要的数据类型。

三.文本域限制输入

请输入行李重量:<input type=“text” name=“weight” οnkeyup=“value=value.replace(/[^\d.]/g,’’)” maxlength=“4”/>

οnkeyup=“value=value.replace(/[^\d.]/g,’’)” 限制输入为数字和小数点
maxlength="4"限制输入只能四位(包括小数点)

四.盒子背景

关于盒子的背景,从一开始的固定颜色换成了渐变色,最后看到了css动画又被我从网上找了个动态背景图……对这种花里胡哨的东西完全没有抵抗力。
ps:动态背景部分来自https://www.cnblogs.com/lijianming180/p/12037921.html

五.盒子边框

border-radius: 30%;百分比越大,边框越圆,跟我想象中的圆边有点出入……

缺陷(未来会慢慢填)

一.小数部分有问题

在这里插入图片描述
在这里插入图片描述
显而易见的问题,看起来好zz……

二.没有提示框

如果其中有一个选项未选择,点确定后会全部刷新,没有提示框的弹出,个人感觉这点有点不太亲民,本来想加上<a href="#"></a>来弹出消息框,但是会破坏<% %>的结构,听老师说这样做会被后来看代码的人打死的,emmmm虽然我现在写的也差不多(捂脸遁逃

完整代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>机场行李托运</title>

<!-- 此处动态背景和盒子 -->
<style type="text/css">  
div.header
{          
	text-align: center;  
    animation:mymove 5s infinite; /*animation 时间 播放次数*/  
    animation-direction:alternate; /*是否循环交替反向播放动画*/ 
    /*Safari 和 Chrome:*/
    -webkit-animation:mymove 5s infinite;
    width: 450px;
    padding: 25px;
    margin: 25px auto;
    border:5px solid BlanchedAlmond ;
    
	border-radius: 30%;
}
    
        @keyframes mymove  
        {
          
            0% {background:#87CEFF;}  
            25% {background:#54FF9F;}  
            50% {background:#7CCD7C;}  
            75% {background:#63B8FF;}  
            100% {background:#00FFFF;}  
        }  
    
        /*Safari 和 Chrome:*/
        @-webkit-keyframes mymove
        {
    
            0% {background:#87CEFF;}
            25% {background:#54FF9F;}
            50% {background:#7CCD7C;}
            75% {background:#63B8FF;}
            100% {background:#00FFFF;}
        }
</style>
</head>

<body>
	<div class="header">
	<form  action="NewFile.jsp" method="post">
		<input type="radio" name="cangwei" value="1">普通舱&nbsp;
		<input type="radio" name="cangwei" value="2">头等舱&nbsp;
		
		<input type="radio" name="guoji" value="3">国内&nbsp;
		<input type="radio" name="guoji" value="4">国外&nbsp;
		
		<input type="radio" name="jiankang" value="5">正常&nbsp;
		<input type="radio" name="jiankang" value="6">残疾&nbsp;
		<br>
		请输入行李重量:<input type="text" name="weight" οnkeyup="value=value.replace(/[^\d\.]/g,'')" maxlength="4"/>
		<input type="submit" value="确定" name="submit">
	</form>
	<%
	request.setCharacterEncoding("UTF-8");
	double money=0;
	String cw[]=request.getParameterValues("cangwei");
	String gj[]=request.getParameterValues("guoji");
	String jk[]=request.getParameterValues("jiankang");
	if(cw!=null)
	{
		for(int i=0;i<cw.length;i++)
		{
			if(cw[i].equals("1"))
				money=6;
			else
				money=4;
		}
	}
	if(gj!=null)
	{
		for(int i=0;i<gj.length;i++)
		{
			if(gj[i].equals("4"))
				money=money*2;
		}
	}
	if(jk!=null)
	{
		for(int i=0;i<jk.length;i++)
		{
			if(jk[i].equals("6"))
				money=money/2;
		}
	}
	if(cw!=null&&gj!=null&&jk!=null)
	{
		String t=request.getParameter("weight");
		double m=0;
		if(t!=null)
		{
			m= Double.parseDouble(t);
		}
		if(m>30)
			out.println("所需支付:"+(m-30.0)*money+"&nbsp");
		else
			out.println("所需支付:"+0.0+"&nbsp");
	}
	%>
	</div>
</body>
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值