Java-黑马Java学习作业-day06方法

学习视频链接:https://www.bilibili.com/video/BV17F411T7Ao


题目1-返回较小值

定义一个方法,该方法能够找出两个小数中的较小值并返回。在主方法中调用方法进行测试。

/**
 * @ClassName: codeHomework01
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目1
 */
public class codeHomework01 {
    public static void main(String[] args) {
        System.out.println(getMin(1, 2));
    }

    public static double getMin(double a, double b) {
        double result = a < b ? a : b;
        return result;
    }
}

题目2-返回最大值

定义一个方法,该方法能够找出三个整数中的最大值并返回。在主方法中调用方法测试执行。

/**
 * @ClassName: codeHomework02
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目2
 */
public class codeHomework02 {
    public static void main(String[] args) {
        System.out.println(getMax(11, 22, 33));
    }

    public static int getMax(int a, int b, int c) {
        int result = a > b ? a > c ? a : c : b > c ? b : c;
        return result;
    }
}

题目3-输入整数按降序输出

在主方法中通过键盘录入三个整数。定义一个方法,方法接收三个整数变量,在方法中从大到小依次打印三个变量。执行效果如下:

请输入第一个整数:10
请输入第二个整数:30
请输入第三个整数:20
从大到小的顺序是: 30 20 10 
import java.util.Scanner;

/**
 * @ClassName: codeHomework03
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目3
 */
public class codeHomework03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入第一个整数:");
        int num1 = sc.nextInt();
        System.out.print("请输入第二个整数:");
        int num2 = sc.nextInt();
        System.out.print("请输入第三个整数:");
        int num3 = sc.nextInt();
        method(num1, num2 , num3);
    }

    public static void method(int num1, int num2, int num3) {
        int max = num1 > num2 ? num1 > num3 ? num1 : num3 : num2 > num3 ? num2 : num3;
        int min = num1 < num2 ? num1 < num3 ? num1 : num3 : num2 < num3 ? num2 : num3;
        int mid = max - min;
        System.out.println("从大到小的顺序是:" + max + " " + mid + " " + min);
    }
}

题目4-获取绝对值

数字是有绝对值的,负数的绝对值是它本身取反,非负数的绝对值是它本身。请定义一个方法,方法能够得到小数类型数字的绝对值并返回。请定义方法并测试。

/**
 * @ClassName: codeHomework04
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目4
 */
public class codeHomework04 {
    public static void main(String[] args) {
        System.out.println(getAbs(-1.2));
        System.out.println(getAbs(10.1));
    }

    public static double getAbs(double num) {
        double result = num >= 0 ? num : -num;
        return result;
    }
}

题目5-返回整数位数

键盘录入一个正整数

定义一个方法,该方法的功能是计算该数字是几位数字,并将位数返回

在main方法中打印该数字是几位数

演示格式如下:
(1)演示一:
请输入一个整数:1234
控制台输出:1234是4位数字
(2)演示二:
请输入一个整数:34567
控制台输出:34567是5位数字

import java.util.Scanner;

/**
 * @ClassName: codeHomework05
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目5
 */
public class codeHomework05 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        System.out.println(digit(num));
    }

    public static int digit(int num) {
        int count = 1;
        while (true) {
            if (num / 10 != 0) {
                count++;
                num = num / 10;
            } else {
                break;
            }
        }
        return count;
    }
}

题目6-判断数组是否相同

需求:

​ 定义一个方法equals(int[] arr1,int[] arr2).

功能:

​ 比较两个数组是否相等(长度和内容均相等则认为两个数组是相同的)

/**
 * @ClassName: codeHomework06
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目6
 */
public class codeHomework06 {
    public static void main(String[] args) {
        int[] arr1 = {1, 2, 4, 5};
        int[] arr2 = {1, 2, 3, 5};
        System.out.println(equals(arr1, arr2));
    }

    public static String equals(int[] arr1, int[] arr2) {
        int count = 0;
        String result = "";
        if (arr1.length == arr2.length) {
            for (int i = 0; i < arr1.length; i++) {
                if (arr1[i] == arr2[i]) {
                    count++;
                }
            }
        } else {
            result = "不相等";
        }
        result = count == arr1.length ? "相等" : "不相等";
        return result;
    }
}

题目7-修改所有数组值

需求:

​ 定义一个方法fill(int[] arr,int value)

功能:

​ 将数组arr中的所有元素的值改为value

import java.util.Arrays;

/**
 * @ClassName: codeHomework07
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目7
 */
public class codeHomework07 {
    public static void main(String[] args) {
        int[] arr = {1, 2 , 3};
        System.out.println(Arrays.toString(fill(arr, 2)));
    }

    public static int[] fill(int[] arr, int value) {
        for (int i = 0; i < arr.length; i++) {
            arr[i] = value;
        }
        return arr;
    }
}

题目8(较难)-修改指定索引数组值

需求:

​ 定义一个方法fill(int[] arr,int fromIndex,int toIndex,int value)

功能:

​ 将数组arr中的元素从索引fromIndex开始到toIndex(不包含toIndex)对应的值改为value

import java.util.Arrays;

/**
 * @ClassName: codeHomework08
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目8
 */
public class codeHomework08 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5 ,6 ,7 ,8 ,9, 10};
        System.out.println(Arrays.toString(fill(arr, 1, 6, 2)));
    }

    public static int[] fill(int[] arr, int fromIndex, int toIndex, int value) {
        for (int i = fromIndex; i < toIndex; i++) {
            arr[i] = value;
        }
        return arr;
    }

}

题目9(较难)-复制所有数组

需求:

​ 定义一个方法copyOf(int[] arr, int newLength)

功能:

​ 将数组arr中的newLength个元素拷贝到新数组中,并将新数组返回,从索引为0开始

import java.util.Arrays;

/**
 * @ClassName: codeHomework09
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目9
 */
public class codeHomework09 {
    public static void main(String[] args) {
        int[] arr = {0, 1, 2, 3, 4, 5 ,6 ,7 ,8 ,9, 10};
        System.out.println(Arrays.toString(copyOf(arr, 4)));
    }

    public static int[] copyOf(int[] arr, int newLength) {
        int[] brr = new int[newLength];
        int index  = 0;
        for (int i = 0; i < newLength; i++) {
            brr[index] = arr[i];
            index++;
        }
        return brr;
    }
}

题目10(较难)-复制指定索引数组

需求:

​ 定义一个方法copyOfRange(int[] arr,int from, int to)

功能:

​ 将数组arr中从索引from(包含from)开始,到索引to结束(不包含to)的元素复制到新数组中,

​ 并将新数组返回。

题目11(很难)-随机且不重复抽奖

一个大V直播抽奖,奖品是现金红包,分别有{2,588,888,1000,10000}五个奖金。请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。打印效果如下:(随机顺序,不一定是下面的顺序)

888元的奖金被抽出
588元的奖金被抽出
10000元的奖金被抽出
1000元的奖金被抽出
2元的奖金被抽出
  • 解法一
import java.util.Random;

/**
 * @ClassName: codeHomework11
 * @Author: Kox
 * @Data: 2023/1/10
 * @Sketch: 题目11
 */
public class codeHomework11 {
    public static void main(String[] args) {
        int[] arr = {2, 588, 1000, 10000};
        int[] brr = new int[arr.length];
        Random r = new Random();
        int flag = 0;
        while (flag < arr.length) {
            int index = r.nextInt(arr.length);
            if (returnNum(brr, arr[index])) {
                brr[flag] = arr[index];
                System.out.println(brr[flag] + "元的奖金被抽出");
                flag++;
            }
        }
    }

    public static boolean returnNum(int[] arr, int num) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == num) {
                return false;
            }
        }
        return true;
    }
}
  • 解法二
import java.util.Arrays;
import java.util.Random;

/**
 * @ClassName: codePractice08
 * @Author: Kox
 * @Data: 2023/1/14
 * @Sketch: 抽奖
 */
public class codePractice08 {
    public static void main(String[] args) {
        int[] arr = {2, 588, 1000, 10000};
        Random r = new Random();
        for (int i = 0; i < arr.length; i++) {
            int index = r.nextInt(arr.length);
            int temp = arr[i];
            arr[i] = arr[index];
            arr[index] =temp;
        }
        System.out.println(Arrays.toString(arr));
    }
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值