山东科技大学-Java数据结构实验一.docx

实 验 报 告 课程名称: 学 院: 专 业: 班 级: 姓 名: 学 号: 年 月 日 山 东 科 技 大 学 教 务 处 制 实 验 报 告 页 组 别 姓 名 同组实验者 实验项目 名称 实验日期 教师评语 实验成绩: 指导教师(签名): 年 月 日 实验目标 掌握使用JDK和记事本开发Java程序的方法和步骤; 熟悉Java语言的基本语法。 实验内容 使用记事本和命令行程序编写以下Java应用程序。 编写程序求1!+2!+……+20! 编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字。 实验步骤和结果 1、编写程序求1!+2!+……+20! (1)文字分析和代码详情 分析:用递推求出每个阶乘,然后相加。采用两个for循环,第一个是在计算阶乘、第二个是在计算阶乘的和,最后返回sum得到结果。 具体代码显示: package Test; public class diyige { public static void main(String[] args) { int sum = 0; for(int i = 1;i = 20;i++)//第一个for循环 { sum += Factorial(i); } System.out.println(sum); } public static int Factorial(int n) { int sum = 1; if(n==1||n==0) return 1; for(int i = 1;i = n;i++)//第二个for循环 { sum *= i; } return sum; //返回sum,得到结果 } } 测试的结果和显示 得到1!+2!+……+20!的结果2、编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字。 (1)文字分析和代码详情 把这个整数每个位数上的数字用模运算分离出来,进行比较。通过构造函数来得到所要结果。 import java.util.Scanner; import java.util.Iterator; import java.util.LinkedList; import java.math.BigInteger; import java.lang.Math; public class diertge { public static int getmax(int n)//构造函数 { int maxx=0; while(true) { if(n==0)break; maxx=Math.max(maxx,n%10); n/=10; } return maxx; } public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println(getmax(in.nextInt()));//输出 in.close(); } } (2)测试的结果和显示 输入456,得到该整数各个位上的最大数字为:6 输入6921,得到该整数各个位上的最大数字为:9 经过多次检验,判断代码为正确。

文档评论(0)

1亿VIP精品文档

相关文档