java 实验一 java基础实验 用Java applet和application分别编写一个程序进行10年存款的本息计算。 已知两个二维数组a,b,其初值如下: int a[][]=new int[2][3]; int b[][]={ {1,5,2,8},{5,9,10,-3},{2,7,-5,-18} }; 求这两个二维数组的乘积。 采用applet编写一个小应用程序。该程序通过让用户输入1-3数值中的一个,实现线、方形、圆型绘制。要求用户提示采用DialogBox。 ### Java基础实验知识点 #### 实验一:Java基础实验 ##### 实验目的: 1. **理解Java Application与Applet及DialogBox的区别**:通过实践掌握Application与Applet的基本概念及其应用场景,同时熟悉如何使用DialogBox进行用户交互。 2. **Eclipse环境下的程序开发流程**:学会如何在Eclipse集成开发环境中编写、编译、调试和运行Java程序。 3. **Java控制结构和数据结构的应用**:深入理解Java中的控制语句、循环语句以及数组的使用方法,并能够运用这些知识解决实际问题。 ##### 实验内容详解: ### 1. 用Java Applet和Application分别编写一个程序进行10年存款的本息计算 **理论背景**: - 存款的本息计算公式为:总金额 = 本金 * (1 + 利率)^存款年限 - 其中,`^` 表示乘方运算。 **代码实现**: - **Application实现**: - 使用`Scanner`类获取用户的输入,包括本金和利率。 - 使用`for`循环计算10年内每年的本息总额。 - `Math.pow`函数用于计算指数运算。 - 示例代码如下: ```java import java.util.Scanner; public class MoneyCalculation { public static void main(String[] args) { double rate, amount, year, principle; Scanner in = new Scanner(System.in); System.out.println("请输入本金"); principle = in.nextDouble(); System.out.println("请输入利率"); rate = in.nextDouble(); System.out.println("年份 本息总额"); for (year = 1; year <= 10; year++) { amount = principle * Math.pow(1.0 + rate, year); System.out.printf("%d %.2f\n", (int) year, amount); } } } ``` - **Applet实现**: - 使用`Graphics`对象绘制文本到Applet窗口。 - 示例代码如下: ```java import java.applet.Applet; import java.awt.Graphics; public class MoneyApplet extends Applet { public void paint(Graphics g) { double k = 0; int i = 1, j = 40; g.drawString("本金是:1000", 40, 20); g.drawString("年利息是:0.01", 40, 40); for (i = 1, j = 50; i <= 10 && j <= 200; i++, j += 10) { k = 100 * Math.pow(1 + 0.01, i); String s = String.valueOf(k); g.drawString(s, 40, j + 20); } } } ``` ### 2. 计算两个二维数组的乘积 **理论背景**: - 二维数组可以表示矩阵,两个矩阵相乘的规则是第一个矩阵的行数必须等于第二个矩阵的列数。 - 计算过程中,第i行第j列的结果是第一个矩阵第i行与第二个矩阵第j列对应元素的乘积之和。 **代码实现**: - 定义两个二维数组`a`和`b`。 - 使用嵌套循环计算乘积矩阵`c`。 - 示例代码如下: ```java public class MatrixMultiplication { public static void main(String[] args) { int a[][] = {{2, 3, 4}, {4, 6, 8}}; int b[][] = {{1, 5, 2, 8}, {5, 9, 10, -3}, {2, 7, -5, -18}}; System.out.print("****Matrix a****\n"); printMatrix(a); System.out.print("****Matrix b****\n"); printMatrix(b); int aRow = a.length; int bCol = b[0].length; int m = b.length; int[][] c = new int[aRow][bCol]; for (int i = 0; i < aRow; i++) { for (int j = 0; j < bCol; j++) { for (int k = 0; k < m; k++) { c[i][j] += a[i][k] * b[k][j]; } } } System.out.print("****Resultant Matrix c = a*b****\n"); printMatrix(c); } private static void printMatrix(int[][] matrix) { for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); } } } ``` ### 总结 以上两个实验内容不仅涵盖了基本的Java语法和编程技巧,还涉及到了简单的数学计算和图形界面的设计。通过这些实验,学生可以进一步加深对Java语言的理解,同时也能够提高自己的编程实践能力。此外,这些实验还为后续学习更复杂的Java技术打下了坚实的基础。
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python入门-17.最大子段和-团结!.py
- python入门-test-18.车厢重组.py
- 第56课 枚举2-20241227131043.pdf
- 基于 Flask 和 React 的前后端分离论坛全部资料+详细文档.zip
- 基于 Flask 和 WebSocket 实现的聊天室程序全部资料+详细文档.zip
- 基于 Scrapy 的新闻智能分类微信小程序,目的是打造出一个可以对新闻进行智能分类的微信小程序。技术栈:Python + Scrapy + MongoDB +
- 基于Flask 与Material Design的博客全部资料+详细文档.zip
- 基于bert4keras的命名实体识别flask展示全部资料+详细文档.zip
- 基于bert4keras关系抽取的flask展示全部资料+详细文档.zip
- 基于flask+MySQL的日程管理系统全部资料+详细文档.zip
- 基于Flask、MySQL和Bootstrap开发的图片分享社交网站。全部资料+详细文档.zip
- 基于Flask+Python3.6的电影网站项目全部资料+详细文档.zip
- 基于flask的web端三维模型重建系统-毕业设计全部资料+详细文档.zip
- 基于Flask的自然语言处理Web应用:人物观点提取,文本摘要,点评情感分类全部资料+详细文档.zip
- 基于Flask构建的无人机物流管理系统全部资料+详细文档.zip
- 基于flask框架的轻量级新闻资讯网站全部资料+详细文档.zip