Java编程技术大全(上)cp5 常用的数据结构——数组与枚举 实战练习笔记
- 编写程序,对int[] a = {25, 24, 12, 76, 98, 101, 90 , 28} 数组进行排序。(冒泡排序)
int[] a = {25, 24, 12, 76, 98, 101, 90, 28};
public void bubbleSort(){
int t = a.length;
while (t > 0) { //控制循环的次数
boolean flag = false; //作为比较的标记,如果一次比较没有发生变化表示已经有序
for (int i = a.length - 1; i > 0; i--) {
if (a[i] < a[i - 1]) {
int temp = a[i];
a[i] = a[i - 1];
a[i - 1] = temp;
flag = true;
}
}
if (flag == false) { //一次比较之后没有发生变化,已经有序,跳出循环
break;
}else {
t--;
}
}
for (int i : a){ // for each 方式打印排序后的数组
System.out.print(i +",");
}
}
- 代码分析:
抽时间再回顾一下其他的排序方式。冒泡排序就是两两比较,大的放在后面,小的放在前面,比较容易理解。
- 编写程序,将上述算法稍加改写,将排序算法改成“乱序算法”。
没搞明白TAT
我觉得书写的还是挺好的,但是感觉课后习题的解析有点敷衍,难点也没有讲解。
- 定义枚举类型WeekDay,使用枚举类型配合switch语法,完善下面代码,尝试完成如下功能:
wd = Mon 时,输出“Do Monday Work”
wd = Tue 时,输出“Do Tuesday Work”......以此类推
当wd不是枚举类型时输出“I don't know which is day”。
enum WeeKDay {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
public class Exercise1 {
public static void main(String[] args) {
WeeKDay wd = WeeKDay.Mon;
switch (wd)
{
//请补充其他实现语句
}
}
}
enum WeeKDay {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
public class Exercise1 {
public static void main(String[] args) {
WeeKDay wd = WeeKDay.Mon;
switch (wd)
{
case Mon:
System.out.println("Do Monday Work");
break;
case Tue:
System.out.println("Do Tuesday Work");
break;
case Wed:
System.out.println("Do Wednesday Work");
break;
case Thu:
System.out.println("Do Thursday Work");
break;
case Fri:
System.out.println("Do Friday Work");
break;
case Sat:
System.out.println("Do Saturday Work");
break;
case Sun:
System.out.println("Do Sunday Work");
break;
default:
System.out.println("I don't know which is day");
}
}
}
这个题目可能就是为了练习枚举和switch吧。
如有问题,欢迎指正 。◕‿◕。