Java基础语法2

键盘录入月份,输出对应的季节(if…else或switch实现)

import java.util.Scanner;

/*
 * 需求:键盘录入一个月份,输出该月份对应的季节。
 *      一年有四季
 *      3,4,5   春季
 *      6,7,8   夏季
 *      9,10,11 秋季
 *      12,1,2  冬季
 * 
 * 分析:
 *      A:键盘录入一个月份,用Scanner实现
 *      B:判断该月份是几月,根据月份输出对应的季节
 *          if
 *          switch
 */
public class Test {
    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 || 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("你输入的月份有误");
        }
    }
}
import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        // 键盘录入一个月份,用Scanner实现
        Scanner sc = new Scanner(System.in);
        // 接收数据
        System.out.println("请输入月份(1-12):");
        int month = sc.nextInt();
        // 用switch语句实现
        switch(month) {
        case 1:
        case 2:
        case 12:
            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;
        }
    }
}

打印五位数中所有的回文数

* 分析:
 *      A:5位数告诉了我们数据的范围,用for循环实现
 *      B:获取每一个5位数,然后得到它的个位,十位,千位,万位
 *          假设x是一个5位数:
 *              个位:x%10
 *              十位:x/10%10
 *              千位:x/10/10/10%10
 *              万位:x/10/10/10/10%10
 *      C:把满足条件的数据输出即可
 */
public class Test3 {
    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);
            }
        }
    }
}

裁判评分问题


/*
 * 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
 * 选手的最后得分为:去掉一个最高分和一个最低分后 其余4个选手的平均值。
 * 请写代码实现。(不考虑小数部分)
 * 
 * 分析:
 *      A:定义一个长度为6的数组。
 *      B:通过键盘录入的方式给出评委的分数
 *      C:写方法实现获取数组中的最大值,最小值
 *      D:写方法实现数组元素的求和
 *      E:平均分: (和-最高分-最低分)/(arr.length-2)
 *      F:输出分数即可
 */

 import java.util.Scanner;

public class Test6 {
    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;
    }
}

数组的反转

public class Test7 {
    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;
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值