您的位置:首页 > 大数据

大数据之JAVA基础(五):循环和数组方法练习

2018-03-22 12:27 471 查看
案例1:编写 1+3+5+7+......+99的值 /* * 求1-99的基数和 */ public static void fun01() { int i = 1; int sum = 0; for(;i<100;i+=2) { sum += i; } System.out.println("0-99基数和: "+ sum); }

案例2:求所有的水仙花数(100-999之间,每位数字立方之和等于该3位数本身。如153 = 1*1*1 + 3*3*3 + 5*5*5
/* * 输出所有的水仙花数 */public static void func02() { for(int i = 100;i<1000;i++) { int bai = i / 100 % 10; int shi = i / 10 % 10; int ge = i % 10; if(bai * bai *bai + shi *shi*shi + ge*ge*ge == i) { System.out.println(i); } } }
案例3: 利用for循环打印26个大写26个小写英文字母
/* * 打印大小写英文字母 */ public static void func03() { //A-Z : 65 - 91 //a-z : 97 - 122 for(int i=97;i<123;i++) { if(i>='a' && i<='z' || i>= 'A' && i<='Z') System.out.println((char)i); } }

案例4:打印99乘法表
/* * 打印99乘法表 */ public static void func04() { for (int i = 1; i <10; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + " = " + i*j); System.out.print(" "); } System.out.println(); } }
案例5:编写数组的通用打印方法,例如打印(“【1,2,3,4,5】”)
/* * 数组通用打印方法 */ public static void func05(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.print(']'); }
案例6:实现数组的逆序
/* * 数组逆序 * 思想:首位和末位交换,然后首位 + 1,末位 -1 ,再次交换,以此类推,直到首位大于或者等于末位 */ public static void func06(int [] arr) { int start = 0; // 开始索引 int end = arr.length - 1; //末尾索引 for(start = 0 ; start <= end ; start ++,end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } for (int i : arr) { System.out.println(i); } }

案例7:数组的冒泡排序
/* * 数组的冒泡排序(从小到大) * 思想:外层i从0位置开始,内层j从其后一位(i+1)开始,比较(arr.length - 1 - i)次,进行比较和交换 * */ public static void func07(int [] arr) { for (int i = 0; i < arr.length - 1; i++) { for(int j = i + 1; j < arr.length - 1 - i ; j ++) { if(arr[i] > arr[j] ) { int temp = arr[i]; arr[i] = arr[j]; arr[j] =temp; } } } for (int i : arr) { System.out.println(i); } }

案例8:有序数组的折半查找
/* * 有序数组的折半查找 */ public static int func08(int [] arr,int search) { int min = 0; //最小索引 int max = arr.length - 1; //最大索引 int mid = (max + min) /2; //折半 while(arr[mid] != search) { if(arr[mid] > search) { max = mid - 1; } else { min = mid + 1; } mid = (max + min) /2; //折半 if(min > max) { return -1; } } return mid; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JAVA 大数据
相关文章推荐