Java&day06

1.Debug

在这里插入图片描述

2.基础练习

题目一

输入星期数,显示今天的减肥活动 周一:跑步 周二:游泳 周三:慢走 周四:动感单车 周五:拳击 周六:好好吃一顿 周日:爬山

import java.util.Scanner;
public class Test01 {
    public static void main(String[] args) {
        //键盘输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个星期数:");
        int week = sc.nextInt();

        //判断
        if(week == 1){
            System.out.println("跑步");
        }else if(week == 2){
            System.out.println("游泳");
        }else if(week == 3){
            System.out.println("散步");
        }else if(week == 4){
            System.out.println("动感单车");
        }else if(week == 5){
            System.out.println("拳击");
        }else if(week == 6){
            System.out.println("好好吃一顿");
        }else if(week == 7){
            System.out.println("看我还有机会么?爬山");
        }else{
            System.out.println("输入错误");
        }
    }
}
题目二

​ 用switch来完成减肥计划

import java.util.Scanner;
public class Test02 {
    public static void main(String[] args) {
        //键盘输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个星期数:");
        int week = sc.nextInt();
        //判断
        switch (week) {
            case 1:
                System.out.println("跑步");
                break;
            case 2:
                System.out.println("游泳");
                break;
            case 3:
                System.out.println("散步");
                break;
            case 4:
                System.out.println("动感单车");
                break;
            case 5:
                System.out.println("拳击");
                break;
            case 6:
                System.out.println("好好吃一顿");
                break;
            case 7:
                System.out.println("爬山");
                break;
            default:
                System.out.println("输入错误");
        }
    }
}
题目三

逢七跳过游戏,打印出1-100之见包含7或者是7的倍数的数字。

public class Test03 {
    //逢七跳过游戏,打印出1-100之见包含7或者是7的倍数的数字。
    public static void main(String[] args) {

        //循环1-100
        for (int i = 1; i < 100; i++) {
            //个位
            int ge = i % 10;
            //十位
            int shi = i / 10;
            //判断
            if(ge==7||shi==7||i%7==0){
                System.out.println(i);
            }
        }
    }
}
题目四

不死神兔。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都 不死,问第二十个月的兔子对数为多少?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SNKV5Tzf-1596444179819)(img\兔子.png)]

题目五

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

public class Test05 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {68,27,95,88,171,996,51,210};
        //定义和
        int sum = 0;
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //十位
            int shi = arr[i] / 10 % 10;
            //条件
            if(shi!=7 && arr[i]%2==0){
                sum += arr[i];          // sum = sum + arr[i];
            }
        }
        //打印
        System.out.println("和是" + sum);
    }
}
题目六

判断两个数组是否相同。

不使用方法:

public class Test06 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};
        int[] brr = {11,22,33,44,55};

        //先判断长度
        if(arr.length != brr.length){
            System.out.println("两个数组不相同");
        }else{
            //长度相同再比较每一个元素
            for (int i = 0; i < arr.length; i++) {
                //判断
                if(arr[i] != brr[i]){
                    System.out.println("两个数组不相同");
                    //结束方法
                    return;
                }
            }

            System.out.println("两个数组相同");
        }
    }
}

使用方法:

public class Test06_2 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};
        int[] brr = {11,22,33,44,55};
        //调用方法
        boolean b = method(arr, brr);

        if(b){
            System.out.println("相同");
        }else{
            System.out.println("不相同");
        }
    }

    //定义一个方法:判断两个数组是否相同
    public static boolean method(int[] arr,int[] brr){
        //先判断长度
        if(arr.length != brr.length){
            return false;
        }
        //再判断内容
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] != brr[i]){
                return false;
            }
        }
        //结束了循环就说明元素都相同
        return true;
    }
}
题目七

已知一个数组 arr = {19, 28, 37, 46, 50} 键盘录入一个数据,查找该数据在数组中第一次出现的索引。

并在控制台输出找到的索引值。如果没有查找到,则输出-1

import java.util.Scanner;

public class Test07 {
    public static void main(String[] args) {
        //创建数组
        int[] arr = {19, 28, 37, 46, 50};
        //键盘输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数据:");
        int num = sc.nextInt();
        //调用
        int index = getIndex(arr, num);
        System.out.println(index);
    }


    //定义方法:查找数据在数组中出现的索引
    public static int getIndex(int[] arr,int num){
        //循环
        for (int i = 0; i < arr.length; i++) {
            //判断
            if(arr[i] == num){
                return i;
            }
        }
        //找不到返回-1
        return -1;
    }
}
题目八

已知一个数组 arr = {19, 28, 37, 46, 50} 用程序实现把数组中的元素值交换

交换后的数组 arr = {50, 46, 37, 28, 19} 并在控制台输出交换后的数组元素。

public class Test08 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55,66};
        //调用
        reverse(arr);
        //调用
        print(arr);
    }

    //定义方法:反转
    public static void reverse(int[] arr){
        int i = 0;
        int j = arr.length-1;

        //循环
        while(i<j){
            //i位置和j位置的元素交换
            int temp = arr[j];
            arr[j] = arr[i];
            arr[i] = temp;

            i++;
            j--;
        }
    }

    //定义方法[元素 元素 元素]
    public static void print(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            //判断最后一个元素
            if(i == arr.length-1){
                System.out.print(arr[i]);
            }else{
                System.out.print(arr[i] + " ");
            }
        }
        System.out.println("]");
    }
}
题目九

有6个评委为参赛的选手打分,分数为0-100的整数分。

选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值 (不考虑小数部分)。

import java.util.Scanner;
public class Test09 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = new int[6];

        //键盘输入分数
        Scanner sc = new Scanner(System.in);
        //循环
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i+1) + "个分数:");
            arr[i] = sc.nextInt();
        }

        //求最高分
        int max = getMax(arr);
        //求最低分
        int min = getMin(arr);
        //求总和
        int sum = getSum(arr);

        //(总和 - 最高分 - 最低分) / 4 = 平均分
        System.out.println((sum-max-min)/4.0);
    }


    //求最高分
    public static int getMax(int[] arr){
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i] > max){
                max = arr[i];
            }
        }
        return max;
    }

    //求最低分
    public static int getMin(int[] arr){
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i] < min){
                min = arr[i];
            }
        }
        return min;
    }

    //求总分
    public static int getSum(int[] arr){
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        return sum;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值