概述
数组练习题
1.数组里有{1,2,3,4,5,6,7,8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)
机试考试题:实现一个游戏中的发牌算法
随机数:Math.random和Random类
public class A1 {
public static void main(String[] args) {
int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] arr2 = new int[arr.length];
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
while (true) {
int pos = r.nextInt(arr.length);
if (arr[pos] != -1) {
int num = arr[pos];
arr2[i] = num;
arr[pos] = -1;
break;
}
}
}
for (int temp : arr2) {
System.out.print(temp + " ");
}
}
}
2.写出代码判断一个整数是不是2的阶次方(请以代码实现,谢绝调用API方法)
public class A2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int kk = num;
boolean res = true;
if (num >= 2) {
while (true) {
if (kk % 2 != 0) {
res = false;
break;
}
kk /= 2;
if (kk == 1)
break;
}
} else
res = false;
if (res) {
System.out.println(num + "是2的阶次方");
} else {
System.out.println(num + "不是2的阶次方");
}
}
}
3.假设今日是2015年3月1日,星期日,请算出13个月零6天后是星期几,距离现在多少天(请用代码实现,谢绝调用API方法)
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class A3 {
public static void main(String[] args) {
String[] arr = new String[] { "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
Date d1 = new Date(2021 - 1900, 11 - 1, 15);
DateFormat df = new SimpleDateFormat("yyyy-MM-ddE");
System.out.println(df.format(d1));
// 计算系统当前时的天数差和星期几
Date now = new Date();
long dis = (now.getTime() - d1.getTime()) / 1000 / 60 / 60 / 24;
int pos = (int) (dis % 7 + 1);
System.out.println("天数差为:" + dis + ",是" + arr[pos]);
// 因为需要进行复杂的日期计算,所以引入Calendar日历类
Calendar c1 = Calendar.getInstance();
c1.set(Calendar.YEAR, 2021);
c1.set(Calendar.MONTH, 11 - 1);
c1.set(Calendar.DATE, 15);
System.out.println(c1.getTime());
System.out.println(df.format(c1.getTime()));
Date date1 = c1.getTime();
// 13个月零6天后
c1.add(Calendar.MONTH, 13);
c1.add(Calendar.DATE, 6);
System.out.println(df.format(c1.getTime()));
Date date2 = c1.getTime();
dis = (date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24;
pos = (int) (dis % 7 + 1);
System.out.println("天数差为:" + dis + ",是" + arr[pos]);
}
}
最后
以上就是专一皮卡丘为你收集整理的数组练习题数组练习题的全部内容,希望文章能够帮你解决数组练习题数组练习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复