一、实验目的
1、 掌握数组的定义及使用方法;
2、 掌握数组的引用传递;
3、 掌握方法及方法的重载。
二、实验学时
2 学时
三、实验类型
验证性实验
四、实验需求
1、硬件
每位学生配备计算机一台
2、软件
Windows XP 操作系统, JDK,eclipse ,MySQL
3、网络
无
4、工具
无
五、实验理论与预备知识
1、 数组的定义及使用方法;
2、 数组的引用传递;
3、 方法及方法的重载。
六、实验内容与结果
1、编程求 1!+2!+3!+ …+20! 的值并显示,要求使用方法完成。
public class fangfadiaoyong_jiechenghe {
public static double jicheng ( int a){
if (a == 1) {
return 1;
} else {
return a * jicheng(a - 1);
}
}
public static void main(String[] args) {
double num[] = new double[20];
double sum = 0;
for (int i = 0; i < 20; i++) {
num[i] = jicheng(i+1);
sum += num[i];
}
System.out.println(sum);
}
}
2 、输出一个乘法口诀表, 需要两层循环。
public class chengfakoujue {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++)
{
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
3、编写一个方法, 此方法可以将一个整数变为二进制输出。
public class erjinzhizhuanhuan {
public static void main(String[] args) {
bian(378);
}
public static void bian(int a){
if(a/2!=0){
bian(a/2);
System.out.print(a%2);
}
}
}
4 、有 5 个人坐在一起,问第 5 个人多少岁?答:比第 4 个人大 2 岁,问第 4 个人多少岁的时候, 比第 3 个人大 2 岁, 问第 3 个人多少岁的时候, 比第 2 个人大 2 岁, 问第 2个人多少岁的时候, 比第 1 个人大 2 岁,问 第 1 个人多少岁的时候, 第一个人说自己是 8 岁, 那么第 5 个人的岁数是?用代码计算 第五个人的年龄,并打印输出。
public class diwugerenage {
public static void main(String[] args) {
System.out.println(age(5));
}
public static int age(int m){
if(m==1){
return 8;//迭代和递归
}
return 2+age(m-1);
}
}
5 、有 30 个 0~9 之间的数字,分别统计 0~9 这 10 个数字分别出现了多少次。
import java.util.Random;
public class tonglishuzi {
public static void main(String[] args) {
Random r = new Random();//创建对象
int a[] = new int[30];
for (int i = 0; i < 10; i++) {
a[i] = r.nextInt(10);//获取一个0-9之间的随机数,存进数组a中
}
for (int i = 1; i < a.length; i++) {//对原数组a进行冒泡排序
for (int j = 0; j < a.length; j++) {
if (a[i] < a[j]) {
int x = a[i];
a[i] = a[j];
a[j] = x;
}
}
}
for (int i = 0; i < a.length; i++) {//统计每个数字出现的次数
int count = 0;
for (int j = 0; j < a.length; j++) {
if (a[i] == a[j]) {
count++;
}
}
if (i < 29 && a[i] != a[i + 1] && count != 0) {
System.out.println(a[i] + "出现次数为:" + count + "次");
}
if (i == 29) {
System.out.println(a[i] + "出现次数为:" + count + "次");
}
}
}
}
6、在排好序的数组中添加一个数字,将添加后的数字插入到数组合适的位置, 保持数组原有排序方式。
public class charupaixushuzi {
public static void main(String[] args) {
int q[]={1,2,4,9};//往排好序的数组中插入数字
insert(3,q);
}
public static void insert(int a,int b[]){
int q1[]=new int[b.length+1];
int j=0;
int m=0;
for(int i=0;i<b.length;i++){
if(a<b[i]){
q1[j++]=a;
while(j<q1.length)
{
q1[j++]=b[i++];
}
m++;
}
else{
q1[j++]=b[i];
}
}
if(m==0){
q1[j]=a;
}
for(int i=0;i<q1.length; i++){
System.out.print(q1[i]+"\t");
}
}
}
实验中用到了很多递归和迭代的思想,嗯~,这种思想其实很奇妙,需要多思考一下。下面给大家推荐一篇大佬博主的文章,有兴趣的话可以点开学习一下哦。