JAVA数组案例!
数组的用例
一、案例需求:
有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和, 要求
是:求和的元素个位和十位都不能是7,并且只能是偶数
如何分析呢?
0.定义数组。
1.定义变量存储最终求和的结果。
2.遍历数组中的每个元素值。
3.当前元素值必须满足:个位和十位都不能是7,并且只能是偶数 才能够被累加到求和变量中去。
4.循环结束之后输出求和变量即可。
定义数组
int[] arr = {68,27,95,88,171,996,51,210};
遍历数组中的每个元素值。
for (int i = 0; i < arr.length; i++) { // 2.遍历数组中的每个元素值。
// i = 0 1 2 3 4 5 6 7
// 当前元素值就是:arr[i]
if (arr[i]%10!=7&&arr[i]/10%10!=7&&arr[i]%2==0){
// 3.当前元素值必须满足:个位和十位都不能是7,
// 并且只能是偶数 才能够被累加到求和变量中去。
// 171 /10 = 17 % 10 = 7
System.out.println(arr[i]);
sum += arr[i]; // 累加满足需要的该值到求和变量sum中去。
}
}
最终成型
public class Test01 {
public static void main(String[] args) { int[] arr = {68,27,95,88,171,996,51,210}; // 0.定义数组。 int sum = 0; // 1.定义变量存储最终求和的结果。 for (int i = 0; i < arr.length; i++) { // 2.遍历数组中的每个元素值。
// i = 0 1 2 3 4 5 6 7
// 当前元素值就是:arr[i]
if (arr[i]%10!=7&&arr[i]/10%10!=7&&arr[i]%2==0){
// 3.当前元素值必须满足:个位和十位都不能是7,
// 并且只能是偶数 才能够被累加到求和变量中去。
// 171 /10 = 17 % 10 = 7
System.out.println(arr[i]);
sum += arr[i]; // 累加满足需要的该值到求和变量sum中去。
}
}
System.out.println("结果是:"+sum); // 4.循环结束之后输出求和变量。
}
}
二、
案例需求:
定义一个方法,用于比较两个数组的内容是否相同和不相同。
int[] arr1 = {};
int[] arr2 = {};
分析步骤:
a、定义2个数组。
b、定义一个方法封装判断数组内容是否相同的功能,所以这个方法就应该接受2个数组。
这个方法最好给它一个返回值,认为相同返回true, 反之返回false.
b.调用方法传入数组,得到比较结果:false|true。
// 1.定义2个数组。
int[] arr1 = {7,17,27,37,77,107};
int[] arr2 = {7,17,27,37,77,107,117};
// 2.定义一个方法封装判断数组内容是否相同的功能
public static boolean compare(int[] arr1,int[] arr2)
// 3.传入两个数组到方法中进行比较得到方法的返回值
boolean result = compare(arr1, arr2);
System.out.println(result);
// 4.判断2个数组的内容是否相同
// 判断2个数组的长度是否相同,如果长度不相同直接返回false.
if (arr1.length != arr2.length) return false;
// 5.到这儿数组的长度已经是相同的,接下来要判断具体的每个元素值是否也相同!
// 使用一个循环遍历两个数组的元素进行比较
for (int i = 0; i < arr1.length; i++) {
// 6.判断元素内容是否相同 ,如果发现有一个不同就直接返回false
if (arr1[i] != arr2[i]) return false;
// 7.代码如果执行到这儿了,说明两个数组的每个元素都相同了,直接返回true
return true;
最终成型
public class Test02 {
public static void main(String[] args) {
// 1.定义2个数组。
int[] arr1 = {7,17,27,37,77,107};
int[] arr2 = {7,17,27,37,77,107,117}; // 3.传入两个数组到方法中进行比较得到方法的返回值
boolean result = compare(arr1, arr2);
System.out.println(result);
}
// 2.定义一个方法封装判断数组内容是否相同的功能
public static boolean compare(int[] arr1,int[] arr2) { // 4.判断2个数组的内容是否相同
// 判断2个数组的长度是否相同,如果长度不相同直接返回false.
if (arr1.length != arr2.length) return false; // 5.到这儿数组的长度已经是相同的,接下来要判断具体的每个元素值是否也相同!
// 使用一个循环遍历两个数组的元素进行比较
for (int i = 0; i < arr1.length; i++) { // 6.判断元素内容是否相同 ,如果发现有一个不同就直接返回false
if (arr1[i] != arr2[i]) return false;
}
// 7.代码如果执行到这儿了,说明两个数组的每个元素都相同了,直接返回true
return true;
}
}
今天的分享就这样吧!
JAVA数组案例!的更多相关文章
- [转载]Java数组扩容算法及Java对它的应用
原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...
- JAVA实用案例之文件导出(JasperReport踩坑实录)
写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...
- Java基础学习-Random类和Java数组
1.随机数类(Random) package com.denniscui; import java.util.Random; /* * Random:用于产生随机数 * * 使用步骤: * ...
- Java 基本语法---Java数组
Java 基本语法---Java数组 0. 概述 数组:相同类型的数据 按照顺序 组成的一种 引用数据类型 . 数据类型:基本数据类型 + 引用数据类型: 引用数据类型:类 + 接口 + 数组 : 一 ...
- Java 基础案例
1.变量及基本数据类型 案例1:变量声明及赋值 //1.变量的声明 int a; //声明一个整型的变量a int b,c,d; //声明三个整型变量b,c,d //2.变量的初始化 int a = ...
- JAVA数组的基础入门>从零开始学java系列
目录 JAVA数组的基础入门 什么是数组,什么情况下使用数组 数组的创建方式 获取数组的数据 数组的内存模型 为什么数组查询修改快,而增删慢? 查询快的原因 增删慢的原因 数组的两种遍历方式以及区别 ...
- Java——数组的定义与使用
数组的定义与使用 1.数组的基本概念 (1)数组的动态初始化: 数组首先先开辟内存空间,而后再使用索引进行内容的设置,这种定义数组的方式称为动态初始化 数组是引用数据类型,存在有内存分配问题.在使用前 ...
- Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
随机推荐
- 《剑指offer》面试题4:替换空格
面试题4:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成"%20",例如输入"We are happy.",则输出"we%20are%20 ...
- Mybatis-自定义类型处理器
类型转换器:mybatis中有一些常用的类型转换器,比如把Java中的short类型转换为mysql中的short类型:但是如果现在是Java中的Date类型,但是我想要存储到数据库中转换为Long类 ...
- 《java基础——对象的拷贝》
java基础--对象的拷贝 一.浅拷贝: 规则: 1. 浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化. 2. 浅拷贝相当于两个对象共用一套实例. 格式: 类名 对象 ...
- ip地址后面斜杠加数字的含义
案例如:10.121.246.8/29 1.概念: 首先这是一种划分ip的表示方式,叫做无分类域间路由选择(CIDR),区分于传统的划分ip方式(分类的ip划分,在这之后提出了划分子网,即将主机号借出 ...
- java过滤器拦截器的执行时机
https://www.cnblogs.com/shamo89/p/8534580.html https://www.cnblogs.com/juanzila/p/11276067.html
- Python Requests 速通爆肝、这么牛逼的库你还不会用吗?
上网原理 爬虫原理 Get.Post Requests 介绍 安装 常用方法 Http协议 开发者工具网络界面 Response对象 下载保存一张图片.一首音乐 添加Headers发送请求 判断HTT ...
- css 实现图片专场
<template> <div> </div> </template> <style lang="scss"> html ...
- acwing刷题--激光炸弹--前缀和(后期会有优化做法)
地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi. 注意:不同目标可能在同一位置. 现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所 ...
- DOS攻击(一)
DOS攻击(一) 介绍 DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽 ...
- 2022-Aech安装(详细)
官方wiki:https://wiki.archlinux.org/ 基础安装 一:制作安装介质 下载ISO镜像文件: https://archlinux.org/download/ # 官方下载网址 ...