哈利路亚
Let's take one million years picnic
欢迎来到Sean Cleveland的博客
JAVA学习日报 10/21(快乐作业)

这周的JAVA作业理所当然是要放到今天写啦,毕竟今天下午没课(笑)

那么接下来就是本次JAVA课的作业啦

 

动手动脑1:在子类中,调用父类中被覆盖的方法

class Father{
    void treasure() {
        System.out.println("从父亲公司继承了500W");
    }
}
class Kids extends Father{
    void treasure() {
        System.out.println("连存款都没有穷到顿顿吃泡面");
    }
    void noTreasure() {
        treasure();
        super.treasure();
    }
};
public class Class4 {
    public static void main(String[] args) {
        Kids me=new Kids();
        me.noTreasure();
    }
}

这里通过Kids类的noTreasure()方法来调用自己的treasure()方法和super关键字修饰的父类treasure()方法

结果如下:

 

 

课堂练习:用JAVA web写一个小型的课程管理程序(下面这种感觉的)

要求:

(1)新课程信息必须唯一,如有重复,提示用户“课程名称重复,重新录入”;

(2)要求判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中一位。

(3)要求上课地点开头为“一教、二教、三教、基教”中的一种;

(4)将新课程信息添加入库。

 

为实现这个,我写了三个页面(这个没注释有点恶心,诸君凑合看)

首页:index.jsp,通过文本框获取信息传给信息处理页面

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<title>添加课程</title>
</head>
<body style="text-align:center;">
<br><br><br>
<form name="form2" action="Proto.jsp" method="post"> 
课程名称 <input type="text" name="name"><br><br>
任课教师 <input type="text" name="teacher"><br><br>
上课地点 <input type="text" name="place"><br><br>
<input type="submit" value="保存">
</form>
<form name="form" action="next.jsp" method="post"> 
<input type="submit" value="显示上课计划">
</form>
</body>
</html>

信息处理页:Proto.jsp,判断文本框信息是否符合要求,若符合要求则将信息存在session中

<%@ page language="java" import="java.util.*" import="java.text.*" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title>添加处理中……</title>
</head>
<body style="text-align:center;">
<pre>
<%
    int i=0;
    if((String)session.getAttribute("teacher0")!=null){
        i= Integer.parseInt((String)session.getAttribute("number"))+1;
    }
    String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");
    String teacher=new String(request.getParameter("teacher").getBytes("ISO-8859-1"),"utf-8");
    String place=new String(request.getParameter("place").getBytes("ISO-8859-1"),"utf-8");
    int c=0,p=0,d=0;
    for(int j=0;(String)session.getAttribute("name"+j)!=null;j++){
        if((String)session.getAttribute("name"+j)==name){
            c=1;out.println("课程名称重复,不通过");
        }
    }
    if(!(teacher.equals("王建民"))&&!(teacher.equals("刘立嘉"))&&!(teacher.equals("刘丹"))&&!(teacher.equals("王辉"))&&!(teacher.equals("杨子光"))){
        p=1;out.println("这个老师不认识,不通过");
    }
    if(!(place.equals("一教"))&&!(place.equals("二教"))&&!(place.equals("三教"))&&!(place.equals("基教"))){
        d=1;out.println("这个教室不存在,不通过");
    }
    if(c==0&&p==0&&d==0){
        session.setAttribute(("name"+i),name);
        session.setAttribute(("teacher"+i),teacher);
        session.setAttribute(("place"+i),place);
        out.println("保存成功");
    }
    session.setAttribute(("number"),""+i);
%>
<form name="form3" action="index.jsp" method="post"> 
<input type="submit" value="返回主页面">
</form>
</pre>
</body>
</html>

(这里有一个小插曲,如果在文本框传值时没将值的编码方式改为utf-8就会传出乱码,即使输入了正确的名称也不合要求无法储存)

信息查询页:next.jsp,打印已经储存的上课计划

<%@ page language="java" import="java.util.*" import="java.text.*" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title>上课计划</title>
</head>
<body style="text-align:center;">
<br><br><br>
<pre>
<%
   String str=(String)session.getAttribute("teacher0");
   if(str==null){
       out.println("目前没有上课计划哦");
   }
   else
   {
       int num=Integer.parseInt((String)session.getAttribute("number"));
       for(int i=0;i<=num;i++){
           out.println(""+(i+1)+"");
           out.println("上课地点:"+(String)session.getAttribute("place"+i));
           out.println("任课教师:"+(String)session.getAttribute("teacher"+i));
           out.println("课程名称:"+(String)session.getAttribute("name"+i));
       }
   }
%>
<form name="form3" action="index.jsp" method="post"> 
<input type="submit" value="返回主页面">
</form>
</pre>
</body>
</html>

运行结果如下:

 

 

 

 

 

 就是这样啦

 

posted on 2020-10-21 23:19  哈利路亚#0207  阅读(257)  评论(0编辑  收藏  举报
Live2D