java--第4章 数组

实验内容:

      1.一维数组的定义与赋值访问。

2.二维数组的定义与赋值访问。

3.冒泡排序的编程实现。

4.选择排序的编程实现。

实验步骤:

1. 定义一个含20个元素的整型数组,利用随机函数产生3位数给数组赋值并在控制台输出,要求每行显示10个元素。

提示:利用随机函数产生3位数:(int)(Math.random()∗900) 100

(Math.random()返回的是0到1之间的随机数,则Math.random()*900可以返回0到900之间的数,可以取到0,但是取不到900,这个乘积是double类型的,将它强制转换成int类型,然后加上100,就变成了可以取到100,但是取不到1000.)

源代码:

public class Sy4_1 {    public static void main(String[] args){        int[] x = new int[20];        for(int i=0;i<x.length;i  ){           x[i] = (int)(Math.random()*900) 100;           System.out.print(x[i] "\t");             if((i 1)==0)             {                 System.out.printf("\n");             }        }    }}

运行结果截图:

2. 利用随机函数产生16个100以内的随机整数给一个4×4的二维数组赋值,要求按行列输出数组。

源代码:

public class Sy4_2 {    public static void main(String[] args) {        int[][] ww = new int[4][4];        for(int i=0;i<ww.length;i  ){           for(int j=0;j<ww[i].length;j  ){               ww[i][j] = (int) (Math.random()*100);               System.out.print(ww[i][j] "  ");            }           System.out.println();        }    }

运行结果截图:

3. 定义一个整型数组,其中包含元素:10、7、9、2、4、5、1、3、6、8。请编写程序对数组进行由小到大的排序(采用冒泡排序),并输出该数组的每个元素。

提示:冒泡排序的思想:每趟从第一个元素开始,两两比较,将大的放到后面,这样一趟下来,最后的元素为最大,下一趟就只要比较到n-1即可,比较完n-1趟,则排好序。

源代码:

import java.sql.SQLOutput;public class Sy4_3 {    public static void main(String[] args) {        int[] arr = {9,8,3,5,4,2,1,6,7};        System.out.print("冒泡排序前:" "\n");        printArray(arr);        bubbleSort(arr);        System.out.print("冒泡排序后:" "\n");        printArray(arr);    }    public static void printArray(int [] arr) {        //循环遍历数组的元素        for(int i=0;i<arr.length;i  ){            System.out.print(arr[i] " ");        }        System.out.println("\n");    }    //定义数组的排序方法    public static void bubbleSort(int[] arr) {        //定义外层循环        for(int i=0;i<arr.length;i  ){            //定义内层循环            for(int j=0;j<arr.length-i-1;j  ){                if(arr[j] > arr[j 1]){                    int temp = arr[j];                    arr[j] = arr[j 1];                    arr[j 1] = temp;                }            }            System.out.print("第" (i 1) "后排序为:" "\n");            printArray(arr);        }    } }

运行结果截图:

4. 定义一个整型数组,利用随机函数生成10个0~100之间的整数值对数组赋值。利用选择排序按由小到大的順序实现一维数组的排序,并输出该数组的每个元素。

提示:选择排序的思想:是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

源代码:

import java.util.Random;public class Sy4_4 {    public static void main(String[] args) {        int[] x = new int [10];        Random r = new Random();        System.out.println("随机生成的10个数字为:");        for(int i=0;i<x.length;i  ){            x[i] = (int)(r.nextInt(100));            System.out.print(x[i] "\t");        }        for(int i = 0; i < x.length - 1; i  ) {// 做第i趟排序            int k = i;            for(int j = k   1; j < x.length; j  ){// 选最小的记录                if(x[j] < x[k]){                    k = j; //记下目前找到的最小值所在的位置                }            }            //在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换            if(i != k){  //交换a[i]和a[k]                int temp = x[i];                x[i] = x[k];                x[k] = temp;            }        }        System.out.println();        System.out.println("交换后:");        for(int num:x){            System.out.print(num "\t");        }    }}

运行结果截图:

实验小结

Java 语言中提供的数组是用来存储固定大小的同类型元素。

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。

这次试验大致了解了 Java 数组的声明、创建和初始化,并给出其对应的代码。

  1. 一维数组定义
  1. 二维数组定义
  1. 随机数生成(Math.Random())

调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布

来源:https://www.icode9.com/content-1-811301.html

(0)

相关推荐

  • (1条消息) 竟然可以这样旋转数组?

    (1条消息) 竟然可以这样旋转数组?

  • 随便吐槽一下~

    往期资料  == 菜单栏下有更多资料 资源分享 | 嵌入式相关 资源分享 | 编程语言类 资源分享 | Linux相关资料 资源分享 | 数据结构与算法 前言(废话一堆) 我们公司的保密工作做得特别好 ...

  • C/C++知识教程:数组

      1. 一维数组的定义及引用 定义 类型说明符 数组名[常量表达式]:复制代码 注意事项 常量表达式的值必须是正整数 数组的起始元素下标为0 一维数组在内存中是如何存放的 存储方式同样从低地址到高地 ...

  • PTA 数组元素循环右移问题

    题目链接为:https://pintia.cn/problem-sets/17/problems/262 此题比较简单,解题思路如下: 定义一个变量temp,将数组的最后一个赋值temp: 然后将数组 ...

  • JavaScript--总结三(数组和函数)

    数组 数组的概念: 将多个元素(通常是同一类型)按照一定顺序排列放到一个集合中,这个集合称之为数组---简(一组有序的数据) 数组的作用:可以一次性存储多个数据 数组的定义: 1.通过构造函数创建数组 ...

  • java学习——24.一维数组

    之前的基本数据类型变量一次只能存储一个不可分解的简单数据,比如int i:一次只能存储一个整数.但是在实际的应用当中,可能会需要一次存储很多个整数,比如之前有一个例题,Fibonicci数列,之前做时 ...

  • Java数据结构与算法----数组与链表

    数据类型 5.1 单链表介绍 5.2 链表的创建 5.3 节点的修改 5.4 节点的删除 5.5 代码实现 5.6 单链表面试题 5.6.1 求单链表中有效节点的个数 5.6.2 查找单链表中的倒数第 ...

  • 《C++ Primer》笔记 第3章 字符串、向量和数组

    位于头文件的代码一般来说不应该使用using声明. 如果使用等号(=)初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去.与之相反,如果不使用等号,则执行的是直接 ...

  • 【原创教程】houdini17 Array数组入门_vop第2章

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 教程编号 CGhunter_houdini_04_002_001_arrayintro(houdin vop卷第2章节) 教程导读 我 ...

  • java学习——25.二维数组

    如果数组元素又是数组,则称为多维数组,常用的是二维数组. 二维数组可以看成由两个一维数组组成,所以很多东西与一维数组类似,如其声明的方法.可进行的运算等等. 1.声明二维数组 数组类型数组名[][]: ...

  • 《使用java理解程序逻辑》第一章总结

    单词: public 公众的           static 静态的           void 空的           main 主要的     class 类 system 系统      ...

  • 【Java】BitConverter(数字转字节数组工具类)

    import java.nio.ByteOrder; import java.nio.charset.Charset; /** * 数字转字节数组工具类 */ public class BitConv ...

  • Java,数据结构和算法,八大数据结构,动态数组、稀疏数组

    IT小奋斗2021-02-12 22:10:13 八大数据结构 1.什么是数据结构? 数据结构是以某种特定的布局方式存储数据的容器: 2.为什么需要数据结构? 数据是计算机科学当中最关键的实体,而数据 ...

  • 《剑指offer-第二版》-面试题03-数组中重复的数字-01-找出数组中重复的数字(Java)

    点击查看: <剑指offer-第2版> 全部面试题 详解目录(Java版) 题目一: 找出数组中重复的数字 题目描述: 在一个长度为n的数组里的所有数字都在0~n-1的范围内.数组中某些数 ...