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币余额
我的收藏
我的下载
下载帮助


最新资源
- TVP5150/TVP5151数字视频解码器硬件与软件设计方案及FAQ
- 西门子PLC与C#上位机高效通讯:WPF界面开发实践与S7netpuls库的自定义封装,西门子PLC与C#上位机高效通讯:WPF界面开发实践与S7netpuls库的自定义封装新方法WriteReadC
- 基于A*算法的机器人路径规划系统:无缝切换五种地图,详细代码注释辅助理解,基于A*算法的机器人路径规划系统:五种地图自由切换与详细代码注释指引,基于A*算法的机器人路径规划 五种地图随意切, 内涵详细
- 全差分运放的设计与应用:简化实现和性能优势
- 差动放大器性能优化方法及其应用场景的技术探讨
- (源码)基于Java的LeetCode题解项目.zip
- (源码)基于Python的微信智能机器人.zip
- 自动化所考博真题-数学-算法-英语2025.pdf
- navicat连接MySQL的神器
- (源码)基于Python的动态掩码生成工具.zip
- 永磁同步电机无传感器控制及滑膜观测模型Matlab实现,附反正切观测模型对比及参考文献,永磁同步电机无传感器控制及滑膜观测模型Matlab实现与反正切观测模型对比研究参考文献分享,永磁同步电机无传感器
- 电流反馈(CFB)与电压反馈(VFB)运算放大器的工作原理及应用场景对比
- bp神经网络python代码.py
- python爱心代码高级.py
- python爱心代码高级粒子.py
- python烟花代码.py


