案例需求:

编程实现双色球中奖号码的生成

1)应用知识:

●  数组的声明

●  数组的使用

●  for循环

2)需求解析:

在该程序中,需要定义一个长度为7的数组,用来存储中奖号码,使用Random对象获取1~33以内的随机数最为中奖号码,使用for循环循环6次产生6个普通的中奖号码存入数组中,最后使用Random对象随机生成一个1~16以内的中奖号码,需要注意,已经产生的中奖号码不能再次作为中奖号码,所以需要使用if分支结构控制。

3)需求实现:

import java.util.Random

public class ColorBall{

public static void main(String[] args){

//声明一个数组用来存放中奖号码

int[] arr = new int[7];

//声明随机数对象

Random rand = new Random();

//使用for循环生成中奖号码

for(int i = 0; i<6; i++){

//获取一个随机数,表示中奖号码

arr[i] = random.nextInt(33)+1;

for(int j = i-1; j>=0; j--){

//如果生成的随机数已经存在,则重新生成一个随机数

if(arr[i] == arr[j]){

i--;

break;

}

}

}

//生成最后的特殊中奖号码

arr[6] = rand.nextInt(16)+1;

//遍历并输出所有中奖号码

for(int num : arr){

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

}

System.out.println();

}

}

案例需求:

编程实现任意正整数中重复数字出现的次数的统计

1)应用知识:

●  数组的声明

●  数组的使用

●  while循环

●  for循环

●  算术运算符

2)需求解析:

程序开始运行,提示用户输入一个正整数并使用Scanner对象接收,准备一个长度为10的数组,数组的下标对应了正整数中可能出现的数字,0~9。然后通过算符运算符将该正整数的每个位中的数值提取出来,如果用户输入的正整数中存在1时,则将数组中下标为1的位置上的数值加1,以此类推。最后遍历输出该数组中的元素,就可以实现任意正整数中重复数组出现次数的统计。

3)需求实现:

import java.util.Scanner;

public class NumCount{

public static void main(String[] args){

//提示用户输入一个正整数并使用变量记录

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

Scanner scan = new Scanner(System.in);

int num = scan.nextInt();

//准备一个长度为10的类型为int的一维数组

int[] arr = new int[10];

//拆分正整数中的每个数字并统计到一维数组中

while(num > 0){

arr[num%10]++;

num /= 10;

}

//打印最终的统计结果

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

if(arr[i] > 0){

System.out.println(i + "出现了" + arr[i] + "次!");

}

}

}

}

案例需求:

编程实现使用冒泡排序堆数组中的元素从小到大排序

1)应用知识:

●  for循环

●  数组的声明

●  冒泡排序

2)需求解析:

冒泡排序的思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

依次类推,每一趟比较次数-1;

3)需求实现:

public class BubbleSort{

public static void main(String[] args){

int[] arr = {6,5,7,4,8,3,9,2,0,1};

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;

}

}

}

for(int num : arr){

System.out.println(num + ",");

}

}

}

案例需求:

编程实现数组元素反转

1)应用知识:

●  数组的声明

●  数组的使用

●  for循环

2)需求解析:

实现数组元素的反转,就是将数组中的元素前后位置调换,第一个元素和最后一个元素调换位置,第二个元素和倒数第二个元素调换位置,依次类推,如果数组的长度是奇数,那么中间位置的数组元素就不需要调换位置。使用for循环循环数组长度的一半即可完成。

3)需求实现:

public class ArrReverse{

public static void main(String[] args){

int[] arr = {1,2,3,4};

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

int temp = arr[i];

arr[i] = arr[arr.length-i-1];

arr[arr.length-i-1] = temp;

}

for(int num : arr){

System.out.println(num + ",");

}

}

}

案例需求:

编程实现将两个数组合并为一个数组

1)应用技术:

●  数组的声明

●  数组的使用

●  for循环

●  if分支结构

2)需求分析:

将两个数组合并成一个数组,那么这个新的数组的长度一定等于这两个数组长度之和,定义出这个新的数组,然后使用for循环依次将两个数组中的元素放入新数组即可。

3)需求实现:

public class ArrCombine{

public static void main(String[] args){

int[] arr1 = {1,2,3,4};

int[] arr2 = {5,6,7,8};

int[] arr3 = new int[arr1.length+arr2.length];

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

if(i<arr1.length){

arr3[i] = arr1[i];

}

if(i>=arr2.length){

arr3[i] = arr2[i-arr1.length];

}

}

for(int num : arr3){

System.out.println(num + ",");

}

}

}

IT兄弟连 Java语法教程 数组 经典案例的更多相关文章

  1. IT兄弟连 Java语法教程 数组 数组的使用

    数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值.访问数组元素都是通过在数组引用变量后紧跟一个方括号([]),方括号里是数组元素的索引值,这样就可以访问数组元素了.访问到数组 ...

  2. IT兄弟连 Java语法教程 数组 数组的初始化

    Java语言中数组必须先初始化,然后才可以使用.所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值. 这时有人会问,能不能只分配内存空间,不赋初始值呢?答案是肯定不行的,一旦为数组 ...

  3. IT兄弟连 Java语法教程 数组 数组的声明

    Java语言支持两种语法格式来定义数组: type[] arrayName; type arrayName[]; 对这两种语法格式而言,通常推荐使用第一种格式,因为第一种格式不仅具有更好的语义,而且具 ...

  4. IT兄弟连 Java语法教程 数组 什么是数组

    数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值.Java语言的数组则具有其特有的特征, ...

  5. IT兄弟连 Java语法教程 数组 多维数组 二维数组的声明

    Java语言里提供了支持多维数组的语法.但是这里还想说,从数组底层的运行机制上来看是没有多维数组的. Java语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存,数组元 ...

  6. IT兄弟连 Java语法教程 数组 多维数组 二维数组的初始化

    二维数组的初始化与一位数组初始化类似,同样可以使用静态初始化或动态初始化. 1)静态初始化 静态初始化的格式如下: 数组名字 = new 数组元素的类型[][]{new 数组元素的类型[]{元素1,元 ...

  7. IT兄弟连 Java语法教程 数组 使用foreach循环遍历数组元素

    从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据 ...

  8. IT兄弟连 Java语法教程 数组 深入数组 内存中的数组

    数组是一种引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的.下面将深入介绍数组在内存中的运行机制. 内存中的数组 数组引用变量只是一个引用,这个引用变量可以指向任何有效的 ...

  9. IT兄弟连 Java语法教程 标识符和关键字

    Java语言也和其它编程语言一样,使用标识符作为变量.对象的名字.也提供了一系列的关键字用以实现特别的功能.本小节将详细介绍Java语言的标识符和关键字等内容. 1.分隔符 Java语言里的分号“;” ...

随机推荐

  1. orm终极大爆炸

    orm终极 甩一个代码给你 # 创建字段 class Field: def __init__(self, name, column_type, primary_key, default): self. ...

  2. MySQL数据库:运算符

    运算符 比较运算符: > 大于 < 小于 >= 大于等于 <= 小于等于 = 等于 != 不等于 范围运算符: between...and...(包含边界值) 类似于 > ...

  3. Linux系统学习 十、DHCP服务器—介绍和原理

    介绍: DHCP服务作用(动态主机配置协议) 为大量客户机自动分配地址.提供几种管理 减轻管理和维护成本.提高网络配置效率 可分配的地址信息主要包括: 网卡的IP地址.子网掩码 对应的网路地址.广播地 ...

  4. (day65、66)Vue基础、指令、实例成员、JS函数this补充、冒泡排序

    目录 一.Vue基础 (一)什么是Vue (二)为什么学习Vue (三)如何使用Vue 二.Vue指令 (一)文本指令 (二)事件指令v-on (三)属性指令v-bind (四)表单指令v-model ...

  5. IT兄弟连 HTML5教程 HTML5表单 H5表单提交综合实例

    这里我们创建一个填写个人基本信息的表单,使用了表单元素有<input>输入框.<datalist>选项列表.<textarea>文本框,通用的表单输入类型有text ...

  6. 使用cJSON库解析和构建JSON字符串

    使用cJSON库解析和构建JSON字符串 前言 其实之前的两篇博文已经介绍了json格式和如何使用cJSON库来解析JSON: 使用cJSON库解析JSON JSON简介 当时在MCU平台上使用时,会 ...

  7. [Spring cloud 一步步实现广告系统] 13. 索引服务编码实现

    上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护.因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能. 我们来定义一个接口, ...

  8. springboot之jpa支持

    相关pom依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  9. 剑指offer笔记面试题14----剪绳子

    题目:给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,n > 1 并且m > 1),每段绳子的长度记为k[0], k[1], ...k[m].请问k[0] x k[1] x .. ...

  10. Spring Boot 2 读取配置文件

    开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 一.默认配置文件 Spring Boot会读取名称a ...