本文主要是介绍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 案例六 奇数求和 水仙花 打印乘法口诀 打印数组 逆序输出数组 选择排序 冒泡排序 折半查找的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!