• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 Java基础练习案例整理附答案

发布时间:2020-05-26 15:48:40 浏览 5423 来源:博学谷 作者:照照

    对于Java的学习者来讲,学习Java基础语法打好基础是至关重要的一步。但是如果只是一味的看视频或者看书灌输理论知识,是很难真正掌握Java的基础知识的。那么 ,我们除了了解学习理论,还需要尝试做一些相应的练习题,这样才能巩固所学知识,做到活学活用。本文为大家整理了Java基础练习案例,并附上了答案,大家可以试着做一做。

     

    Java基础练习案例

     

    1、数组元素求和

     

    1)案例需求

     

    有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,要求是:求和的元素个位和十位都不能是7,并且只能是偶数。

     

    2)代码实现

     

    ```java

    /*

       思路:

           定义一个数组,用静态初始化完成数组元素的初始化;

           定义一个求和变量,初始值是0

           遍历数组,获取到数组中的每一个元素;

           判断该元素是否满足条件,如果满足条件就累加;

           输出求和变量的值。

     */

    public class Test06 {

        public static void main(String[] args) {

            //定义一个数组,用静态初始化完成数组元素的初始化

            int[] arr = {68, 27, 95, 88, 171, 996, 51, 210};

     

            //定义一个求和变量,初始值是0

            int sum = 0;

     

            //遍历数组,获取到数组中的每一个元素

            for(int x=0; x<arr.length; x++) {

                //判断该元素是否满足条件,如果满足条件就累加

                if(arr[x]%10!=7 && arr[x]/10%10!=7 && arr[x]%2==0) {

                    sum += arr[x];

                }

            }

     

            //输出求和变量的值

            System.out.println("sum:" + sum);

        }

    }

    ```

     

    2、判断两个数组是否相同

     

    1)案例需求

     

    定义一个方法,用于比较两个数组的内容是否相同。

     

    2)代码实现

     

    ```java

    /*

        思路:

               定义两个数组,分别使用静态初始化完成数组元素的初始化

               定义一个方法,用于比较两个数组的内容是否相同

               比较两个数组的内容是否相同,按照下面的步骤实现就可以了。首先比较数组长度,如果长度不相同,数组内容肯定不相同,返回false。其次遍历,比较两个数组中的每一个元素,只要有元素不相同,返回false。最后循环遍历结束后,返回true

              调用方法,用变量接收

              输出结果

     */

    public class Test07 {

        public static void main(String[] args) {

            //定义两个数组,分别使用静态初始化完成数组元素的初始化

            int[] arr = {11, 22, 33, 44, 55};

            //int[] arr2 = {11, 22, 33, 44, 55};

            int[] arr2 = {11, 22, 33, 44, 5};

     

     

            //调用方法,用变量接收

            boolean flag = compare(arr,arr2);

            //输出结果

            System.out.println(flag);

        }

     

        //定义一个方法,用于比较两个数组的内容是否相同

        /*

            两个明确:

                返回值类型:boolean

                参数:int[] arr, int[] arr2

         */

        public static boolean compare(int[] arr, int[] arr2) {

            //首先比较数组长度,如果长度不相同,数组内容肯定不相同,返回false

            if(arr.length != arr2.length) {

                return false;

            }

     

            //其次遍历,比较两个数组中的每一个元素,只要有元素不相同,返回false

            for(int x=0; x<arr.length; x++) {

                if(arr[x] != arr2[x]) {

                    return false;

                }

            }

     

            //最后循环遍历结束后,返回true

            return true;

        }

    }

    ```

     

    3、查找元素在数组中出现的索引位置

     

    1)案例需求

     

    已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引。并在控制台输出找到的索引值。如果没有查找到,则输出-1

     

    2)代码实现

     

    ```java

    /*

        思路:

               定义一个数组,用静态初始化完成数组元素的初始化;

               键盘录入要查找的数据,用一个变量接收;

               定义一个索引变量,初始值为-1;

               遍历数组,获取到数组中的每一个元素;

               拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环;

              输出索引变量。

     */

    public class Test08 {

        public static void main(String[] args) {

            //定义一个数组,用静态初始化完成数组元素的初始化

            int[] arr = {19, 28, 37, 46, 50};

     

            //键盘录入要查找的数据,用一个变量接收

            Scanner sc = new Scanner(System.in);

            System.out.println("请输入要查找的数据:");

            int number = sc.nextInt();

     

            //调用方法

            int index = getIndex(arr, number);

     

            //输出索引变量

            System.out.println("index: " + index);

        }

     

        //查找指定的数据在数组中的索引

        /*

            两个明确:

                返回值类型:int

                参数:int[] arr, int number

         */

        public static int getIndex(int[] arr, int number) {

            //定义一个索引变量,初始值为-1

            int index = -1;

     

            //遍历数组,获取到数组中的每一个元素

            for(int x=0; x<arr.length; x++) {

                //拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环

                if(arr[x] == number) {

                    index = x;

                    break;

                }

            }

     

            //返回索引

            return index;

        }

    }

    ```

     

    4、数组元素反转

     

    1)案例需求

     

    已知一个数组 arr = {19, 28, 37, 46, 50}; 用程序实现把数组中的元素值交换,交换后的数组 arr = {50, 46, 37, 28, 19}; 并在控制台输出交换后的数组元素。

     

    2)代码实现

     

    ```java

    /*

        思路:

               定义一个数组,用静态初始化完成数组元素的初始化;

               循环遍历数组,这一次初始化语句定义两个索引变量,判断条件是开始索引小于等于结束索引;

               变量交换;

               遍历数组。

     */

    public class Test09 {

        public static void main(String[] args) {

            //定义一个数组,用静态初始化完成数组元素的初始化

            int[] arr = {19, 28, 37, 46, 50};

     

            //调用反转的方法

            reverse(arr);

     

            //遍历数组

            printArray(arr);

        }

     

        /*

            两个明确:

                返回值类型:void

                参数:int[] arr

         */

        public static void reverse(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;

            }

        }

     

        /*

            两个明确:

                返回值类型:void

                参数:int[] arr

         */

        public static void printArray(int[] arr) {

            System.out.print("[");

     

            for (int x = 0; x < arr.length; x++) {

                if (x == arr.length - 1) {

                    System.out.print(arr[x]);

                } else {

                    System.out.print(arr[x] + ", ");

                }

            }

     

            System.out.println("]");

        }

    }

    ```

     

    以上就是Java基础练习案例整理,大家都会做了吗?需要注意的是,在一开始做的时候不要看答案,做完之后,再对一遍答案。这样才能更好地知道自己哪里有问题,从而有针对性的去解决。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: Java有什么优点?Java开发优势 下一篇: Java学习路线从入门到精通

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码