javase基础6

1.键盘录入月份,输出对应的季节

public class Test1 {
    public static void main(String[] args) {
        // 键盘录入一个月份,用Scanner实现
        Scanner sc = new Scanner(System.in);

        // 接收数据
        System.out.println("请输入一个月份(1-12):");
        int month = sc.nextInt();

        // 判断该月份是几月,根据月份输出对应的季节
        /*
        if (month == 1) {
            System.out.println("冬季");
        } else if (month == 2) {
            System.out.println("冬季");
        } else if (month == 3) {
            System.out.println("春季");
        } else if (month == 4) {
            System.out.println("春季");
        } else if (month == 5) {
            System.out.println("春季");
        } else if (month == 6) {
            System.out.println("夏季");
        } else if (month == 7) {
            System.out.println("夏季");
        } else if (month == 8) {
            System.out.println("夏季");
        } else if (month == 9) {
            System.out.println("秋季");
        } else if (month == 10) {
            System.out.println("秋季");
        } else if (month == 11) {
            System.out.println("秋季");
        } else if (month == 12) {
            System.out.println("冬季");
        } else {
            System.out.println("你输入的月份有误");
        }
        */
        
        //(month==3 || month==4 || month==5)
        if(month==1 || month==2 || month==12) {
            System.out.println("冬季");
        }else if(month==3 || month==4 || month==5) {
            System.out.println("春季");
        }else if(month==6 || month==7|| month==8) {
            System.out.println("夏季");
        }else if(month==9 || month==10 || month==11) {
            System.out.println("秋季");
        }else {
            System.out.println("你输入的月份有误");
        }
    }
}


2.打印所有回文数

public class Test2 {
    public static void main(String[] args) {
        //5位数告诉了我们数据的范围,用for循环实现
        for(int x=10000; x<100000; x++) {
            //获取每一个5位数,然后得到它的个位,十位,千位,万位
            int ge = x%10;
            int shi = x/10%10;
            int qian = x/10/10/10%10;
            int wan = x/10/10/10/10%10;
            
            //把满足条件的数据输出即可
            if((ge==wan) && (shi==qian)) {
                System.out.println(x);
            }
        }
    }
}

3.不死神兔

public class Test3 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = new int[20];
        
        //初始化第一个月和第二个月的兔子对数c
        arr[0] = 1;
        arr[1] = 1;
        
        for(int x=2; x<arr.length; x++) {
            arr[x] = arr[x-2] + arr[x-1];
        }
        
        System.out.println("第二十个月的时候的兔子对数是:"+arr[19]);
    }
}

4.求数组中满足要求的元素和

1)定义一个int类型的一维数组,内容为{171,72,19,16,118,51,210,7,18}
2)求出该数组中满足要求的元素和。
求和的元素的个位和十位不能包含7,并且只能为偶数。

public class Test4 {
    public static void main(String[] args) {
        //定义一个int类型的一维数组
        int[] arr = {171,72,19,16,118,51,210,7,18};
        
        //定义一个求和变量
        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);
    }
}

6.裁判评分

在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后 其余4个选手的平均值。
请写代码实现。(不考虑小数部分)

public class Test5 {
    public static void main(String[] args) {
        //定义一个长度为6的数组
        int[] arr = new int[6];
        
        //通过键盘录入的方式给出评委的分数
        Scanner sc = new Scanner(System.in);
        for(int x=0; x<arr.length; x++) {
            // arr[x] = sc.nextInt();
            System.out.println("请给出第"+(x+1)+"个评委的分数(0-100):");
            int number = sc.nextInt();
            arr[x] = number;
        }
        
        //写方法实现获取数组中的最大值,最小值
        int max = getMax(arr);
        int min = getMin(arr);
        
        //写方法实现数组元素的求和
        int sum = sum(arr);
        
        // (和-最高分-最低分)/(arr.length-2)
        int avg = (sum-max-min)/(arr.length-2);
        
        //输出分数即可
        System.out.println("该选手的最终得分是:"+avg);
    }
    
    //数组元素求和
    public static int sum(int[] arr) {
        int sum = 0;
        
        for(int x=0; x<arr.length; x++) {
            sum += arr[x];
        }
        
        return sum;
    }
    
    //数组中的最小值
    public static int getMin(int[] arr) {
        int min = arr[0];
        
        for(int x=1; x<arr.length; x++) {
            if(arr[x] < min) {
                min = arr[x];
            }
        }
        
        return min;
    }
    
    //数组中的最大值
    public static int getMax(int[] arr) {
        int max = arr[0];
        
        for(int x=1; x<arr.length; x++) {
            if(arr[x] > max) {
                max = arr[x];
            }
        }
        
        return max;
    }
}

7.数组反转

(1)键盘录入5个int类型的数据存储数组arr中
(2)定义方法将arr数组中的内容反转
(3)定义方法对反转后的数组进行遍历

public class Test6 {
    public static void main(String[] args) {
        // 定义一个长度为5的数组
        int[] arr = new int[5];

        // 通过键盘录入数据给数组中的元素赋值
        Scanner sc = new Scanner(System.in);
        for (int x = 0; x < arr.length; x++) {
            System.out.println("请给出第" + (x + 1) + "个元素");
            arr[x] = sc.nextInt();
        }
        
        System.out.println("反转前的数组元素:");
        printArray(arr);

        // 定义方法将arr数组中的内容反转
        reverse(arr);
        
        System.out.println("反转后的数组元素:");
        //定义方法遍历数组
        printArray(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.println(arr[x]+"]");
            }else {
                System.out.print(arr[x]+", ");
            }
        }
    }
    

    /*
     * 两个明确: 返回值类型:void 参数列表:int[] arr
     */
    public static void reverse(int[] arr) {
        for(int startIndex=0,endIndex=arr.length-1;startIndex<=endIndex;startIndex++,endIndex--) {
            int temp = arr[startIndex];
            arr[startIndex] = arr[endIndex];
            arr[endIndex] = temp;
        }
    }
}

8.数组基本查找

数组元素查找(查找指定元素第一次在数组中出现的索引)

public class Test7 {
    public static void main(String[] args) {
        int[] arr = { 5,4 , 3, 2, 1 };

        //要查询的元素通过键盘录入的方式确定
        Scanner sc = new Scanner(System.in);
        
        System.out.println("请输入要查找的元素:");
        int number = sc.nextInt();
        
        //定义一个查找数组元素第一次出现位置的方法
        //调用方法
        int index =getIndex(arr, number);
        System.out.println("index:"+index);
    }
    
    public static int getIndex(int[] arr,int value) {
        //遍历数组,获取到每一个元素,进行比较,如果想等,就直接把该处的索引返回。
        
        int index = -1;
        
        for(int x=0; x<arr.length; x++) {
            if(arr[x] == value) {
                index = x;
                break;
            }
        }
        
        return index;
    }
}
原文地址:https://www.cnblogs.com/learnjfm/p/6922471.html