Java 案例六 奇数求和 水仙花 打印乘法口诀 打印数组 逆序输出数组 选择排序 冒泡排序 折半查找

本文主要是介绍Java 案例六 奇数求和 水仙花 打印乘法口诀 打印数组 逆序输出数组 选择排序 冒泡排序 折半查找,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 1.奇数求和

/*编写程序求1+3+5+...+99的和值有一个数据从0变到100 循环 int i = 0; ,+100 ++从0-100,范围内找到奇数 数%2==1 奇数所有的奇数求和需要变量,保存奇数的求和实现步骤:1.程序中可以使用的数据,预先定义好变量需要奇数和2.利用循环,让变量从0变化到1003.判断变量的变化情况是不是奇数4.如果是奇数和预先定义好的变量相加*/
public class Test{public static void main(String[] args){//求出100内的奇数和,每一个奇数之间,前一个比后一个小2//方法1int sum = 0;for(int i = 1; i < 100 ; i+=2){sum += i;}System.out.println(sum);//方法2//定义变量,保存求和的值sum = 0;//for循环,循环中的变量,0-100for(int i = 0 ;i < 100;i++){if(i%2==1){//对循环的变量,进行奇数的判断,i%2==1sum += i;}}System.out.println(sum);}
}

运行结果:

2.水仙花 

/*要求:计算水仙花数三位数 100-999 个位数的立方+十位数的立方+百位数的立方 ==自己本身153 = 1*1*1 +5*5*5 + 3*3*3已知三位数 123 获取出每个数位 利用除法取模运算实现步骤:1.定义变量才存储 三个数位上的整数2.利用循环,循环中的变量,从100变化到9993.循环中得到三位数,利用算法,拆解成三个单独的数位4.将三个数位立方的求和计算,计算后的求和 和它自己比较判断如果相同,就是水仙花*/public class LoopTest_1{public static void main(String[] args){//定义三个变量int ge = 0,shi = 0,bai = 0;int sum = 0;//循环,循环变量从100-999for(int i = 100 ; i <= 999 ; i++){//获取百威ge = i%10;//获取各位shi = (i/10)%10;//获取个位bai = i/100;//对三个数位进行立方求和//System.out.println(ge+" "+shi+" "+bai);sum =ge*ge*ge+shi*shi*shi+bai*bai*bai;//System.out.println(sum);if(i == sum){System.out.println("满足条件的数:"+i);}}}
}

运行结果:

3.打印乘法口诀 

/*打印乘法口诀1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9乘法口诀需要利用双循环for(int i = 1;i <=9 ;i++)这是控制行数  9行for(int j = 1; j <=i ;j++)这是控制每行的个数 逐行增加*/public class LoopTest_3{public static void main(String[] args){for(int i = 1;i < 10; i ++){for(int j = 1; j <= i; j++){System.out.print(i+"*"+j+"="+i*j+"	");}System.out.println();}}
}

运行结果:

4.利用方法打印数组

/*定义方法,实现数组的遍历遍历中输出结果 [11,33, 56,77,89]实现步骤:1.先定义一个方法实现数组的遍历2.先打印[3.遍历数组输出数组的元素和逗号判断是否遍历到了数组的最后一个元素,如果是输出]中括号
*/public class ArrayMethodTest{public static void main(String[] args){//定义一个数组int[] arr = {11,33,56,77,89};printArray(arr);}/*定义方法,实现功能返回值:void方法参数:数组*/public static void printArray(int[] arr){//先输出一半括号System.out.print("{");//遍历数组for(int i = 0 ;i < arr.length ; i++){//如果是最后一个元素就输出元素和另外一半括号if(i == arr.length -1){System.out.print(arr[i]+"}");}else System.out.print(arr[i]+",");}System.out.println();}
}

运行结果:

5.逆序输出数组(不等于 反向输出数组)

/*素组的逆序:数组中的元素,进行位置上的交换逆序 不等于 反向遍历就是数组中最远的两个索引,进行位置交换,实现数组的逆序使用的是数组的指针思想,就是变量,思想可以随时变换索引反转 reverse实现步骤:1.定义方法,实现数组的逆序2.遍历数组实现数组的最远索引换位置使用临时的第三方变量
*/
public class ArrayMethodTest_1{public static void main(String[] args){int [] arr = {1,2,3,4,8,7};printArray(arr);reverse(arr);printArray(arr);}/*定义方法,实现数组的逆序返回值:没有返回值参数:数组就是参数*/public static void reverse(int[] arr){//利用循环,实现数组遍历,遍历过程中,最远端换位//for的第一项,定义2个变量for(int min = 0, max = arr.length -1; min < max ; min++,max--){//对数组中的元素进行位置交换//min索引和max索引的元素交换int temp = arr[min];//max索引上的元素赋值给min索引arr[min] = arr[max];//临时变量,保存的数据,赋值到max索引上arr[max] = temp ;}}/*定义方法,实现功能返回值:void方法参数:数组*/public static void printArray(int[] arr){//先输出一半括号System.out.print("{");//遍历数组for(int i = 0 ;i < arr.length ; i++){//如果是最后一个元素就输出元素和另外一半括号if(i == arr.length -1){System.out.print(arr[i]+"}");}else System.out.print(arr[i]+",");}System.out.println();}
}

运行结果:

6.选择排序(素组的每个元素进行比较)

/*数组的排序:一般都是升序排序,元素,小到大的排序两种排序的方式选择排序:素组的每个元素进行比较冒泡排序:素组中相邻元素进行比较规则:比较大小,位置交换
*/public class ArrayMethodTest_2{public static void main(String[] args){int [] arr = {9,2,6,4,8,7};printArray(arr);selectSort(arr);printArray(arr);}/*定义方法,实现数组的选择排序返回值;没有参数:数组实现步骤:1.嵌套循环实现排序外循环:控制的是一共比较了多少次内循环:控制的是每次比较多少个元素2判断元素的大小值小值, 存储到小的索引中*/public static void selectSort(int[] arr){for(int i = 0;i < arr.length -1; i++){//内循环,是每次豆子减少,修改变量的定义for(int j = i+1 ; j < arr.length ;j++){//数组的元素进行判断if(arr[i] > arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}}/*定义方法,实现功能返回值:void方法参数:数组*/public static void printArray(int[] arr){//先输出一半括号System.out.print("{");//遍历数组for(int i = 0 ;i < arr.length ; i++){//如果是最后一个元素就输出元素和另外一半括号if(i == arr.length -1){System.out.print(arr[i]+"}");}else System.out.print(arr[i]+",");}System.out.println();}
}

输出的结果:

7.冒泡排序和折半查找

/*数组的查找功能:在一个数组中,找一个元素,是否存在于数组中,如果存在,就返回索引普通查询:找到元素在数组中出现的索引,如果没有这个元素,结果就是负
*/public class ArrayMethodTest_3{public static void main(String[] args){int [] arr ={8,5,7,2,9,3,4};printArray(arr);//调用冒泡排序bubbleSort(arr);printArray(arr);int index =binarySearch(arr,9);System.out.println(index);}/*定义方法,实现折半查找返回值:索引参数:数组被查找的元素实现步骤:1.需要的变量三个,定义三个变量2.进行循环折半,可以折半的条件 min<max3让被找元素和中间索引元素进行比较元素 > 中间索引 小指针 =中间 +1元素 < 中间索引 大指针 =中间 -1元素 ==中间索引 找到了,借宿了,返回中间索引4.循环结束,无法折半元素没有找到,返回-1*/public static int binarySearch(int[] arr,int key){//定义三个指针变量int min = 0;int max = arr.length-1;int mid = 0;while(min <=max){//公式计算中间索引mid = (min + max)/2;//让被找元素和中间索引元素进行比较if(key > arr[mid]){min = mid +1;} else if(key < arr[mid]){max  = mid -1;} else {return mid;}}return -1;}/*定义方法,实现数组的冒泡排序返回值:没有参数:数组实现步骤:*/public static void bubbleSort(int[] arr){for(int i = 0 ; i < arr.length-1 ;i++){for(int j = 0;j < arr.length-i-1; j++){if(arr[j] > arr[j+1]){int temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp;}}}}/*定义方法,实现功能返回值:void方法参数:数组*/public static void printArray(int[] arr){//先输出一半括号System.out.print("{");//遍历数组for(int i = 0 ;i < arr.length ; i++){//如果是最后一个元素就输出元素和另外一半括号if(i == arr.length -1){System.out.print(arr[i]+"}");}else System.out.print(arr[i]+",");}System.out.println();}
}

输出结果是:

这篇关于Java 案例六 奇数求和 水仙花 打印乘法口诀 打印数组 逆序输出数组 选择排序 冒泡排序 折半查找的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963410

相关文章

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存