Java实验四:数组和方法

  • 实验名称

数组和方法

  • 实验目的及要求(本次上机实验所涉及并要求掌握的知识点)
  1. 掌握方法的定义与调用关系,理解方法定义的优势,加深对方法的参数传递与返回型的理解,了解地推的概念及实现特点。
  2. 掌握一维数组、二维数组的定义存储分配及赋初值的方法,熟悉利用循环实现数组的幅值、输出及其处理编程的方法。
  3. 掌握基本数据类型和引用类型的方法参数传递特点。
  • 实验环境(本次上机实践所使用的平台和相关软件)

多媒体微型计算机;Windows ,jdk及Eclipse。

  • 实验设计
  1. 实验内容
  1. 利用随机函数产生16个随机整型给一个4*4赋值。

①输出矩阵并求。

②矩阵主对角线之和值。

③求最外一圈元素之和。

  1. 定义一个方法,求两个整型数的最大公约数。
  2. 编写一个方法,利用选择排序按从小到大的顺序实现一维数组的排序。

     提示:选择排序是在每一遍的比较过程中,先确定最小元素的位置,比较完成后,再将最小元素与本遍最小值该放位置的元素进行交换。

  1. 实验步骤
  1. 程序1
package shiyan4;



public class shiyan4_1 {

public static void main(String[] args)

{

 int sum=0;

     int a[][]=new int[4][4];

     int max=a[0][0];

     for(int i=0;i<a.length;i++)

     {

      for(int j=0;j<a[i].length;j++)

      {  

      

      a[i][j]=(int)(Math.random()*10+1);//产生1~10的随机整数,(int)表示将double类型强转成整型

          System.out.print(a[i][j]+"\t");

       

      }

      System.out.println();

     }

     



     for(int i=0;i<a.length;i++)//该循环主要计算第一行和最后一行元素的的值

     {

      sum+=a[0][i];

      sum+=a[a.length-1][i];

     }

     

     for(int j=1;j<a.length-1;j++)//该循环主要计算中间n-2行的头尾元素的值

     {

      sum+=a[j][0];

      sum+=a[j][a.length-1];

     }//求矩阵最外一圈元素之和的普遍方法

     System.out.println("最外一圈元素之和为:"+sum);



     int sum1 = 0;

     for(int i = 0; i < a.length; i++){

     for(int j = 0; j <a[0].length; j++){

     if(i == j){

     sum1 += a[i][j];

     }

     }

     }

     System.out.println("矩阵对角线之和为:" + sum1);

}

}
  1. 程序2
package shiyan4;

import java.util.Scanner;

public class shiyan4_2 {

 public static int hahaha(int x,int y){               

         for (int a=x;a>=1; a--) {                         

 if (x%a==0 && y%a==0) {        

 return a;                          

 }  

 }

                return 1;                                             

}

   public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        System.out.println("请输入第一个正整数:");

        int a=sc.nextInt();

        System.out.println("请输入第二个正整数:");

        int b=sc.nextInt();

        System.out.println(a+"和"+b+"的最小公约数为:"+hahaha(a,b));





}



}

3)程序3

package shiyan4;

import java.util.Scanner;

public class shiyan4_3 {

    public static void main(String[] args) {

        int[] arr = new int[] { 56, 13, 16, 6, 33, 78, 89 };

        selectSort(arr);

        for (int i = 0; i < arr.length; i++) {

            System.out.print(arr[i] + " ");

        }

    }



    public static void selectSort(int[] arr) {

        for (int i = 0; i < arr.length - 1; i++) {

            int minIndex = i;

            for (int j = i + 1; j < arr.length; j++) {

                if (arr[j] < arr[minIndex]) {

                    minIndex = j;

                }

            }

            if (i != minIndex) {

                int temp = arr[i];

                arr[i] = arr[minIndex];

                arr[minIndex] = temp;

            }

       

        }

    }



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GP2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值