第六天内容: Eclipse的断点调试,用来查看程序的执行流程和查找BUG,所谓的哪里不会点哪里,基础班阶段应该基本不会使用。 其次就是结合之前所学知识进行基础语法的练习。 案例一:键盘录入月份,输出对应的季节(if…else或switch实现) 利用case的穿透性,代码更简洁! packagetest; importjava.util.Scanner; /* * 键盘录入月份,输出对应的季节(if…else或switch实现) */ publicclass Test18 { public static void main(String[] args){ Scanner sc = newScanner(System.in); System.out.println("请输入一个月份:"); int month = sc.nextInt(); switch (month) { case 12: case 1: case 2: System.out.println("这个月是冬季"); break; case 3: case 4: case 5: System.out.println("这个月是春季"); break; case 6: case 7: case 8: System.out.println("这个月是夏天"); break; case 9: case 10: case 11: System.out.println("这个月是秋天"); break; default: System.out.println("你输入的月份不合法,请重新输入"); break; } } } 案例二:打印5位数中所有的回文数 packagetest; /*需求:打印5位数中的所有回文数。 * 什么是回文数呢?举例:12321是回文数,个位与万位相同,十位与千位相同 * */ publicclass Test19 { public static void main(String[] args){ for(inti=10000;i<99999;i++) { int ge=i%10; int shi=i/10%10; int bai=i/10/10%10; intqian=i/10/10/10%10; intwan=i/10/10/10/10%10; if((ge==wan)&&(shi==qian)){ System.out.println(i); } } } } 案例三:求数组中满足要求的元素和,需求:(1)定义一个int类型的一维数组,内容为{171,72,19,16,118,51,210,7,18};(2)求出该数组中满足要求的元素和:求和的元素的个位和十位不能包含7,并且只能为偶数。 package test; public class Test20 { public static voidmain(String[] args) { int []arr={171,72,19,16,118,51,210,7,18};//定义一个int类型的数组 //定义一个变量用于符合要求的数组元素求和 int sum=0; //遍历数组 for(inti=0;i<arr.length;i++) { if((arr%10!=7)&&(arr/10%10!=7)&&(arr%2==0)){ System.out.println(arr);//查看符合要求的元素有哪些 sum+=arr; } } System.out.println("满足要求的数组元素求和为:"+sum); } } 案例四:裁判打分。需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。选手的最后得分为:去掉一个最高分和一个最低分后,其余4个选手的平均值。请写代码实现。(不考虑小数部分) packagetest; importjava.util.Scanner; importorg.omg.CORBA.PUBLIC_MEMBER; /* * 裁判打分。需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 * 选手的最后得分为:去掉一个最高分和一个最低分后,其余4个选手的平均值。请写代码实现。(不考虑小数部分) */ publicclass Test21 { public static void main(String[] args){ int[] arr = new int[6]; Scanner sc = newScanner(System.in); for (int i = 0; i <arr.length; i++) { System.out.println("请输入第" + (i + 1) + "个评委的打分:"); arr = sc.nextInt(); } int min = getMin(arr); int max = getMax(arr); int sum = getSum(arr); System.out.println("4个选手的平均分是:" + (sum - max - min) /(arr.length - 2)); } // 定义方法求打分中的最大值 public static int getMax(int[] arr) { int max = arr[0]; for (int i = 0; i <arr.length; i++) { if (max < arr) { max = arr; } } return max; } // 定义方法求打分中的最小值 public static int getMin(int[] arr) { int min = arr[0]; for (int i = 0; i <arr.length; i++) { if (min > arr) { min = arr; } } return min; } // 求和 public static int getSum(int[] arr) { int sum = 0; for (int i = 0; i <arr.length; i++) { sum += arr; } return sum; } } 案例5:数组元素查找,需求:数组元素查找(查找指定元素第一次在数组中出现的索引) (1)给定数组int[] arr = {5,7,3,2,5}; (2)要查询的元素通过键盘录入的方式确定 (3)定义一个查找数组元素第一次出现位置的方法(注,要查找的元素就是键盘录入的数据) package test; /* * 数组基本查找 * 需求:数组元素查找(查找指定元素第一次在数组中出现的索引) *(1)给定数组int[] arr = {5,7,3,2,5}; *(2)要查询的元素通过键盘录入的方式确定 *(3)定义一个查找数组元素第一次出现位置的方法(注,要查找的元素就是键盘录入的数据) */ importjava.util.Scanner; public class test22 { public static void main(String[] args) { int[] arr = { 5, 7, 3, 2, 5 }; getIndex(arr); } // 定义一个方法求数组元素在数组中出现的位置 public static void getIndex(int[] arr) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = sc.nextInt(); boolean flag = false; // 遍历数组,如果number==arr,则输出i值,即arr在数组中第一次出现的位置 for (int i = 0; i < arr.length; i++) { if (number == arr[i]) { boolean falg=false; System.out.println("数组元素在数组中首次出现的位置是:" + i); break; } } if (!flag) { System.out.println("数组中不存在这样的数"); } } } 案例6:数组反转。需求:(1)键盘录入5个int类型的数据存储数组arr中;(2)定义方法将arr数组中的内容反转;(3)定义方法对反转后的数组进行遍历。 package test; importjava.util.Scanner; /* * 数组反转。 * 需求:(1)键盘录入5个int类型的数据存储数组arr中; * (2)定义方法将arr数组中的内容反转; * (3)定义方法对反转后的数组进行遍历。 */ public class Test23 { public static void main(String[] args) { int [] arr=new int[5]; Scanner sc=new Scanner(System.in); for(int i=0;i<5;i++) { System.out.println("请输入第"+(i+1)+"个元素:"); arr[i]=sc.nextInt(); } //反转前 printArray(arr); //调用方法将数组元素反转 fanZhuan(arr); //遍历反转后数组 printArray(arr); } public static void printArray(int [] arr) { System.out.print("["); for(int i=0;i<arr.length;i++) { if(i==arr.length-1) { System.out.println(arr[i]+"]"); }else { System.out.print(arr[i]+","); } } } public static void fanZhuan(int [] arr) { for(int start=0,end=arr.length-1;start<=end;start++,end--) { int temp=arr[start]; arr[start]=arr[end]; arr[end]=temp; } } }
|