黑马程序员技术交流社区

标题: javaEE学习笔记 [打印本页]

作者: Nikola    时间: 2018-4-7 22:50
标题: javaEE学习笔记
第六天内容:
Eclipse的断点调试,用来查看程序的执行流程和查找BUG,所谓的哪里不会点哪里,基础班阶段应该基本不会使用。
其次就是结合之前所学知识进行基础语法的练习。
案例一:键盘录入月份,输出对应的季节(if…elseswitch实现)
利用case的穿透性,代码更简洁!
packagetest;
importjava.util.Scanner;
/*
* 键盘录入月份,输出对应的季节(ifelseswitch实现)
*/
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)键盘录入5int类型的数据存储数组arr中;(2)定义方法将arr数组中的内容反转;(3)定义方法对反转后的数组进行遍历。
package test;
importjava.util.Scanner;
/*
* 数组反转。
* 需求:(1)键盘录入5int类型的数据存储数组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;  
      }
      
   }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2