实验报告三 Java 数组和方法

一、实验目的

1 掌握数组的定义及使用方法;

2 掌握数组的引用传递;

3 掌握方法及方法的重载。

二、实验学时

2 学时

三、实验类型

 验证性实验

四、实验需求

1、硬件

每位学生配备计算机一台

2、软件

Windows XP 操作系统, JDKeclipse 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");
        }
        }
    }




实验中用到了很多递归和迭代的思想,嗯~,这种思想其实很奇妙,需要多思考一下。下面给大家推荐一篇大佬博主的文章,有兴趣的话可以点开学习一下哦。

黑马程序员_JavaSE基础知识总结四:递归与迭代_liulin90的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_51472673/article/details/123601793
今日推荐