首页 > 代码库 > 不同类型问题代码训练
不同类型问题代码训练
键盘录入月份, 输出对应的季节
case的穿透:
实质就是case语句体中 没有break
如果没有break会直接进入下一个case的语句体 继续执行,直到有break才会跳出
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 //使用Scanner获取键盘录入 4 Scanner sc = new Scanner(System.in); 5 System.out.println("请输入数字"); 6 int num = sc.nextInt(); 7 8 switch (num) { 9 case 1: 10 case 2: 11 case 12: 12 System.out.println("冬季"); 13 break; 14 case 3: 15 case 4: 16 case 5: 17 System.out.println("c季"); 18 break; 19 case 6: 20 case 7: 21 case 8: 22 System.out.println("夏季"); 23 break; 24 case 9: 25 case 10: 26 case 11: 27 System.out.println("秋季"); 28 break; 29 30 default: 31 System.out.println("呵呵呵 "); 32 break; 33 } 34 }
打印 5 位数中所有的回文数
范围: 10000 ~ 100000
条件: 个位 == 万位 && 十位 == 千位
1 public static void main(String[] args) { 2 3 for(int i = 10000; i < 100000; i++){ 4 //求各个位 5 int g = i%10; 6 int s = i/10%10; 7 //int b = i/10/10%10; 8 int q = i/10/10/10%10; 9 int w = i/10/10/10/10%10; 10 //条件判断 11 if(g == w && s == q){ 12 System.out.println(i); 13 } 14 } 15 16 }
数组元素交换
原数组 int[] arr = {10,20,30,40,50};
输出 arr={ 50, 40, 30, 20, 10};
思路:
定义两个变量 i j分别代表前面和后面元素的索引值
在i<j的情况下 反复交换元素 和 移动索引值
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 int[] arr = {10,20,30,40,50}; 4 //定义两个变量 i j 5 int i = 0; 6 int j = arr.length-1; 7 //在 i< j的情况下反复交换和移动ij 8 while(i<j){ 9 //交换 10 int tmp = arr[j]; // 把后面元素的值 存放到临时变量中 11 arr[j] = arr[i]; //把前面元素值 赋值给后面元素 12 arr[i] = tmp; // 把临时变量中存放的 原后面元素的值 赋值给前面的元素 13 14 //移动索引值 15 i++; 16 j--; 17 }
斐波那契
有一对兔子, 从出生后第 3 个月起每个月都生一对兔子, 小兔子长到第三个月后每个月
又生一对兔子, 假如兔子都不死, 问第二十个月的兔子对数为多少?
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 int[] arr = new int[20]; 4 5 arr[0] = 1; 6 arr[1] = 1; 7 8 for(int i = 2;i<arr.length;i++){ 9 arr[i] = arr[i-1] + arr[i-2]; 10 } 11 12 System.out.println("最终的兔子数: "+arr[19]); 13 }
不同类型问题代码训练
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。