【Web编程技术——Java编程输出数字斜塔】

本文介绍了小组成员通过Java和JSP技术实现数字斜塔的两种方法,包括循环结构和数组,详细展示了代码实现和程序流程图,并在本地和云端服务器进行测试。实验旨在提升面向对象编程和动态网页开发能力。
摘要由CSDN通过智能技术生成


小组成员

分工姓名
组长张哲议
组员蔡佳生
组员蔡朝辉
组员黄羽悦

以下是本篇文章正文内容

一、实验介绍

  1. 目的:建立数学模型并运用Java面向对象的技术进行JSP脚本编程
  2. 要求:编写JSP页面并在本地Eclipse for JavaEE中测试,要求在命令行窗口以及浏览器上输出如下图所示的数字斜塔(必须画出程序流程图),鼓励一题多解!页面测试通过后发布到云端ECS服务器并浏览访问效果。
    在这里插入图片描述

二、实验步骤

程序流程图介绍:

  1. 构成成分
    起止框:表示程序流程的开始与结束,通常只有一个开始框和一个结束框。
    处理框:表示程序流程中需要执行或处理的内容。
    流程线:表示程序执行的方向与顺序。
    判断框:表示对程序流程中的某一条件进行判断,用来决定执行某一操作。
    输出输入框:表示程序流程中资料的输入或结果的输出,一般用做数据处理。
  2. 三种结构
    顺序结构:三大结构中最简单的一种,表示流程图直接按照流程线所指顺序依次执行;
    选择结构:指定一个条件,根据给定的条件判断内容,并根据判断结果决定流程走向;
    循环结构:在特定条件下重复某一操作,用于判断流程是继续执行重复内容还是退出循环,分为当型和直到型两种循环方式。

解法一:

  • 利用循环实现数字金字塔,代码思路:
    这段代码使用了JSP(JavaServer Pages)来生成数字斜塔的输出。以下是对这段代码的思路解释:
    使用 Java 代码片段 <% %> 来实现 JSP 页面的动态内容。
    它包含了一个 for 循环,用于生成数字斜塔。
    变量 s 表示数字斜塔的高度。变量 n 作为数字斜塔每一行的起始值。
    外层的 for 循环用于控制数字斜塔的行数,内部嵌套的 for 循环则用于在每行上打印相应的数字。
    内部的两个 for 循环用于控制在每一行打印的数字。
    变量 flag 控制每行的数字序列。
    使用 out.print() 和 out.println() 函数来输出数字斜塔的数字,并在每一行结束后输出 HTML 的换行标签 <br>

代码如下:

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数字斜塔</title>
</head>
<body>
 <%
int s = 5;
int n = 1;
for (int i = 1; i <= s; i++) {
    int flag = n;
    for (int j = 1; j <= s - i + 1; j++) {
        out.print(flag + " ");
        flag += i + j;
    }
    n += i;
    out.println("<br>");
}
%>
</body>
</html>

程序流程图:

在这里插入图片描述

解法二:

  • 利用数组实现数字金字塔,代码思路:
    创建了一个二维数组 a 用来存储数字斜塔的值。
    定义了变量 i 和 k,以及一个变量 m,用来表示数字斜塔的规模。
    首先对数组 a 进行了初始化,设置 a[1][1] 的值为 1。
    然后在嵌套的 for 循环中,根据特定的算法求得数组 a 中其他元素的值,并用 System.out.print() 来进行输出。
    同时,构建了一个 HTML 字符串 s,并在每次计算得到的值后将其添加到字符串 s 中。
    在每行数字计算和输出结束后,使用 out.println() 将字符串 s 插入到 HTML 页面中。

代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int i,k;
int m= 5;

int a[][]=new int [m+1][m+1];

a[1][1]=1;

for(k=1;k<=m;k++){
a[k][1]=a[1][k-1]+1;
String s="";
System.out.print(a[k][1]+" ");
s=s+a[k][1]+"&nbsp&nbsp&nbsp";
for(i=2;i<=m-k+1;i++){
a[k][i]=a[k][i-1]+i-1+k;

System.out.print(a[k][i]+" ");
s=s+a[k][i]+"&nbsp&nbsp&nbsp";
}
out.println("<h1>"+s+"<h1>");
System.out.println("");

}
%>

程序流程图:

在这里插入图片描述

实现效果:

命令行输出:

在这里插入图片描述

浏览器输出:

在这里插入图片描述
在这里插入图片描述

云端服务器内测试:

  • 可通过云端站点下载云端内的代码。
    在这里插入图片描述
  • 同步到本地
    在这里插入图片描述
  • 运行结果:
    在这里插入图片描述

三、实验小结

  • 张哲议:为实现斜塔效果,首先设定行数为5,初始数字为1。然后使用嵌套的循环结构,外层循环控制行数,内层循环控制每行打印的数字。在内层循环中,设定一个flag变量来跟踪当前数字,根据规律递增更新flag并打印数字。同时,更新下一行的起始数字n。通过调试过程逐行检查代码逻辑,确保每一步都符合预期,最终实现了斜塔效果。
  • 蔡佳生:在Web开发中,我使用了JSP(Java Server Pages)技术进行脚本编程。JSP允许我们在HTML页面中嵌入Java代码,实现动态网页的生成。通过JSP标签、表达式语言等特性,实现了数据的处理和页面的渲染。同时,我也意识到自己在某些方面还存在不足。例如,在代码编写方面,我们还需要进一步提高代码的规范性和可读性;在问题解决方面,我们还需要加强自己的逻辑思维和创新能力。
  • 蔡朝辉:首先,我们使用了嵌入式Java代码在JSP页面中生成数字斜塔,并在浏览器中展示。
    对于命令行输出,我们编写了一个Java程序来生成数字斜塔,并在命令行中输出。
    在编写JSP页面时,使用嵌入式Java代码正确地生成数字斜塔。
    在编写Java程序时,注意双重循环填充二维数组,以及正确输出到命令行窗口。
    了解了如何在JSP页面中使用Java代码生成动态内容,并通过浏览器展示。
    在部署到云端ECS服务器时,需要熟悉WAR文件的导出和部署过程,并确保服务器环境配置正确,以保证JSP页面可以正常访问。
    综上所述,通过本次实验,我对于在JavaEE环境中使用JSP页面生成动态内容以及在命令行中输出有了更深入的理解,同时也学会了如何将JSP页面部署到云端服务器上进行访问测试
  • 黄羽悦:在本次实验中,目标是建立数学模型,结合了面向对象的编程思想,通过编写嵌套的循环和一些变量来动态地生成数字斜塔的数字序列。通过命令行窗口和浏览器显示出了正确的数字斜塔效果。了解了程序流程图的制作。还加深了对 Java 的 JSP 技术和面向对象编程思想的理解,以及对数字斜塔模型的构建和输出。同时,通过在本地和云端的测试和访问,对程序的部署和发布也有了更深入的了解。进一步巩固了我的编程技能和对于模型建立的能力,也为我后续的学习和实践提供了宝贵的经验。
  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值