实验1.4 数组

实验目标:

Ø 1)  掌握一维数组的定义与使用
Ø 2 )   掌握 二维数组的定义与使用。

1. 定义一个10的整型数组,从键盘输入10个数存放在数组中,然后将其前5个元素和后5个元素对换,即:第1个元素与第10个元素对换,第2个元素与第9元素对换等。分别输出数组原来各元素的值和互换后各元素的值。

package 第一题;
import java.util.Scanner;

public class 第一题 {

	public static void main(String[] args) {
		int []a=new int [10];//定义一个长度为10的数组
		Scanner input=new Scanner(System.in);
        //将十个数据依次输入至a[10]中,利用for循环直至i=a.length(a数组的长度)
		for(int i=0;i<a.length;i++) {
			a[i]=input.nextInt();
		}
	System.out.print("互换前:");
        //将a[10]依次输出,检验输入数据是否正确
		for(int i=0;i<a.length;i++) {
			System.out.print(a[i]+" ");
		}
		System.out.println();//换行
        //进行如题所述的元素互换
		for(int i=0;i<a.length/2;i++) {
			int b;
			b=a[i];
			a[i]=a[a.length-i-1];
			a[a.length-i-1]=b;
		}
	System.out.print("互换后:");
        //输出元素互换后的结果
		for(int i=0;i<a.length;i++) {
		System.out.print(a[i]+" ");
	}
		
	}

}

3.定义一个23列的整型二维数组,对数组中的每个元素赋值一个1~100的随机整数,然后分别对第一行、第二行的元素从小到大排序。

①实验方法

package 第二题;
import java.util.Random;

class BubbleSort {

    public static void sort(int[] arrays) { //第一个循环控制n-1趟排序

        for (int i = 0; i < arrays.length - 1; i++) { //第二个循环控制每次要比较的元素个数n-1-i

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

                if (arrays[j] > arrays[j + 1]) {
                    int t = arrays[j];
                    arrays[j] = arrays[j + 1];
                    arrays[j + 1] = t;
                }
            }
        }
    }
}

public class exp1_4_2 {

    public static void reorder(int[][] twoDimArray) {

        for (int i = 0; i < twoDimArray.length; i++)
            BubbleSort.sort(twoDimArray[i]); //用数组twoDimArray[i]作为参数调用sort()方法;
    }

    public static void main(String[] args) {

        int[][] a = new int[2][3];//创建大小为2行3列的整型二维数a
        Random random = new Random();
        System.out.println("随机生成的数组为:");
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                int num = random.nextInt(100);//返回一个伪随机数,它是取自[0,100),
                a[i][j] = num;//并赋给a[i][j],然后将二维随机数组输出。
                System.out.print(num+" ");
            }
            System.out.println();//换行
        }
        reorder(a);//用数组a作为参数调用reorder()方法;
        System.out.println("排序后的数组为:");
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {        //输出排序后的二维数组
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }
    }
}

简易理解方法

package 第二题;
import java.util.Random;

public class 第二题 {
	public static void main(String[]args) {		
		int [][]a=new int[2][3];//创建大小为2行3列的整形二维数a
		int num = 0;
		Random random=new Random();
		System.out.println("随机生成的数组为:");
		for(int i=0;i<a.length;i++) {
			for(int j=0;j<a[0].length;j++) {
				a[i][j]=(int)(Math.random()*100+1);//随机赋1~100的值给二维数组a[i][j]
			}		
			
		}
		//输出排序前初始数组核验
		for(int i=0;i<a.length;i++) {
			for(int j=0;j<a[0].length;j++) System.out.print(" "+a[i][j]);
			System.out.println();
		}
		reorder(a);//用数组a作为参数调用reorder()方法
		System.out.println("排序后的数组为:");
		//输出排序后的二维数组
		for(int i=0;i<a.length;i++) {
			for(int j=0;j<a[0].length;j++) System.out.print(" "+a[i][j]);
			System.out.println();
		}
	}
static class BubbleSort{
	//定义一个排序方法
	public static void sort(int[]args) {
			for(int i=0;i<args.length;i++) {
				for(int j=i+1;j<args.length;j++) {
					if(args[i]>args[j]){
						int b;
						b=args[i];
						args[i]=args[j];
						args[j]=b;
					}
				}
			}
		}
	}

public static void reorder(int[][]twoDimArray) {
	 for (int i = 0; i < twoDimArray.length; i++)
           BubbleSort.sort(twoDimArray[i]);//用数组twoDimArry[i]作为参数调用sort()方法
	}
}

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

江輕木

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

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

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

打赏作者

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

抵扣说明:

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

余额充值