概述
作业二
- 作业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-四舍五入&数组随机不重复&数组反转&数组元素相同所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复