我是靠谱客的博主 沉静大山,最近开发中收集的这篇文章主要介绍java-四舍五入&数组随机不重复&数组反转&数组元素相同,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作业二

  • 作业1 ----------------四舍五入 ----------------
    请定义一个方法,对正数的小数进行四舍五入的操作(不考虑负数情况)。
    四舍五入之后的结果是一个int整数类型并返回。最后对方法进行测试。
public static void main(String[] args) {
    Scanner scanner =new Scanner(System.in);
    System.out.println("请输入一个小数:");
    double num = scanner.nextDouble();  // 输入一个任意数
    int num1 = getNum(num);
    System.out.println(num1);
}

public static int getNum(double num) {  // 假设 num = 5.51
    double xiaoshu = (num * 10) % 10;   // [(5.51 * 10) % 10] = [55.1 % 10] = 5 
    if (xiaoshu >= 5) {     
        return (int) (num + 1);  // 返回 Num + 1;double强转int
    } else {
        return (int) num;		 // 返回 Num;    double强转int
    }
}
//运行结果
请输入一个小数:
3.35
3
------------------
请输入一个小数:
5.51
6
  • 作业2 ----------------输出随机不重复数组 ----------------
    一个大V直播抽奖,奖品是现金红包,分别有{2,588,888,1000,10000}五个奖金。
    请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。
    打印效果如下:(随机顺序,不一定是下面的顺序)
    888元的奖金被抽出
    588元的奖金被抽出
    10000元的奖金被抽出
    1000元的奖金被抽出
    2元的奖金被抽出
public static void main(String[] args) {

int[] arr = {10000, 1000, 588, 888, 2};//1.定义存放奖金的数组

int[] brr = new int[arr.length];//2.定义数组存放已经被取过的奖金

int index = 0; //3.定义变量表示brr的索引

Random random = new Random();//4.创建随机数对象

while (index < arr.length) { //5.定义循环反复获取随机数,如果index小于arr的长度则继续循环

    int i = random.nextInt(arr.length);//5.1每次生成一个随机索引对应一个奖金

    boolean b = exist(brr, arr[i]);  //5.2调用方法判断这个奖金是否被获取过

    if (!b) {//5.3b是false代表这个奖金没有被抽取过

        brr[index] = arr[i];  //5.4把获取之后的奖金存放到brr中

        index++;//5.5index索引向后移动一次

        System.out.println(arr[i] + "元的奖金被抽出");//5.6打印本次被抽出的奖项
    }
}
}

//6.定义方法:判断brr数组中是否存在num这个数字
public static boolean exist(int[] brr, int num) {  // 被取过奖金数组, 奖金
//6.1对数组进行遍历
for (int i = 0; i < brr.length; i++) {
    //6.2判断如果找到数字,则返回true
    if (brr[i] == num) {
        return true;
    }
}
//6.3如果最终没有找到则返回false
return false;
}
//运算结果
588元的奖金被抽出
10000元的奖金被抽出
888元的奖金被抽出
1000元的奖金被抽出
2元的奖金被抽出
  • 作业3 ----------------数组元素反转(一) ----------------
    定义一组数组{1, 2, 3, 6, 8},将数组反转输出{8,6,3,2,1}
public static void main(String[] args) {
    int[] arr = {1, 2, 3, 6, 8};
    getReverse(arr);//反转数组
    getPrint(arr);  //遍历输出反转数组

}

public static void getReverse(int[] arr) {
    for (int i = 0; i < arr.length / 2; i++) {  //除以2,防止反转两次,每一次循环,后面的元素都会和前面的元素交换
    	/*将索引前 和 索引后 的数组元素 交换值*/
        int temp = arr[i];
        arr[i] = arr[arr.length - 1 - i];
        arr[arr.length - 1 - i] = temp;
    }
}
public static void getPrint (int[] arr) {   //循环输出 反转数组
    System.out.print("[t");
    for (int i = 0; i < arr.length; i++) {
        if (i == arr.length - 1) {
            System.out.print(arr[i] + "t");
        } else {
            System.out.print(arr[i] + ",t");
        }
    }
    System.out.println("]");
}
//运行结果
[	8,	6,	3,	2,	1	]
  • 作业4 ----------------数组元素反转(二) ----------------
    定义一组数组{1, 2, 3, 6, 8},将数组反转输出{8,6,3,2,1}
public static void main(String[] args) {
    int[] arr = {1, 2, 3, 6, 8};
    getReverse(arr);  //反转数组
    getPrint(arr);    //输出反转数组
}

public static void getReverse(int[] arr) {
    //定义索引位置,并且设定,当两数相遇,作为结束
    int temp = 0;  //临时变量,用于交换两数
    for (int start = 0, end = arr.length - 1; start < end; start++, end--) {
        //两数交换
        temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
    }
}

//打印反转数组
public static void getPrint(int[] arr) {
    System.out.print("[t");
    for (int i = 0; i < arr.length; i++) {
        if (i == arr.length - 1) {
            System.out.print(arr[i] + "t");
        } else {
            System.out.print(arr[i] + ",t");
        }
    }
    System.out.println("]");
}
//运行结果
[	8,	6,	3,	2,	1	]
  • 作业4 ----------------判断数组元素内容相同 ----------------
    定义两个数组,{22, 11, 44, 5, 33} 与 {11, 22, 33, 44, 5} (这些可以自行修改数值,位置)
public static void main(String[] args) {
    //判断数组内容是否相同
    int[] arr1 = {22, 11, 44, 5, 33};
    int[] arr2 = {11, 22, 33, 44, 5};
    System.out.println("两个数组内容:t" + isEquals(arr1, arr2));
}

public static boolean isEquals(int[] arr1, int[] arr2) {

    if (arr1.length != arr2.length) { //比较两数组长度是否相同
        return false;
    }

    for (int i = 0; i < arr1.length; i++) {
        int count1 = 0;    //定义 arr1元素出现的次数
        int count2 = 0;    //定义 arr2元素出现的次数
        int num = arr1[i]; //用它来与下面 arr1[j] 和 arr2[j] 来进行比较元素
        for (int j = 0; j < arr1.length; j++) {
            //只能判断;
            if (num == arr1[j]) {    //如果有相等的值
                count1++;            //arr1 中 元素出现的次数 + 1
            }

            if (num == arr2[j]) {    //如果有相等的值
                count2++;            //arr2 中 元素出现的次数 + 1
            }

        }
        if (count1 != count2) {      //如果次数不相等,说明arr1和arr2元素个数不一样(arr1元素与arr2元素 不相等)
            return false;
        }
    }
    return true;
}
//运行结果
两个数组内容:	true

最后

以上就是沉静大山为你收集整理的java-四舍五入&数组随机不重复&数组反转&数组元素相同的全部内容,希望文章能够帮你解决java-四舍五入&数组随机不重复&数组反转&数组元素相同所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部