周末小作业
一、选择排序
/**
* 选择排序
*/
public class task01 {
public static void main(String[] args) {
int[] nums = {3,2,5,1,4};
for (int i = 0; i < nums.length -1; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[i] > nums[j]) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
//循环遍历
for (int i : nums) {
System.out.print(i+"\t");
}
}
}
二、冒泡排序
/**
*冒泡排序
*/
public class task02 {
public static void main(String[] args) {
int[] nums = {3,2,5,1,4};
for (int i = 0; i < nums.length - 1; i++) {
for (int j = 0; j < nums.length - 1 - i; j++) {
if (nums[j] > nums[j+1]) {
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
for (int i : nums) {
System.out.print(i+"\t");
}
}
}
三、适用于菜单展示的循环是?适用于循环次数明确的循环是?说明其原因
/**
* 适用于菜单展示的循环是?适用于循环次数明确的循环是?说明其原因
*/
public class task03 {
public static void main(String[] args) {
//菜单展示循环 do while 条件设置为永真,一直进行菜单显示
System.out.println("请输入:");
Scanner input = new Scanner(System.in);
System.out.println("=================欢迎进入XXXX银行系统===================");
do {
System.out.println("【1】存款 【2】取款 【3】转账 【4】查询余额 【5】修改密码 【0】退出 ");
int choice = input.nextInt();
switch (choice) {
case 1:
//存款
//save(user);
break;
case 2:
//取款
//withDraw(user);
break;
case 3:
//转账
//trans(user);
break;
case 4:
//查询余额
//query(user);
break;
case 5:
//修改密码
//modifyPassword(user);
break;
case 0:
//退出
System.out.println("退出成功!");
return;
default:
System.out.println("请输入正确的指令!");
break;
}
} while (true);//当执行退出操作时,循环结束
//循环次数明确的循环 for循环 例如冒泡排序... 根据次数设循环条件
}
}
四、九九乘法表
/**
* 九九乘法表
*/
public class task04 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {//行
for (int j =1 ; j <= i; j++) {//列
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}
五、数组复制的三种方式
/**
* 数组复制的三种方式
*/
public class task05 {
public static void main(String[] args) {
//第一种 通过for循环遍历赋值给新的数组逐一赋值
int[] nums = {1,2,3,4,5};
//扩容新数组,为原来空间的两倍(可以但没必要)
int[] nums1 = new int[nums.length*2];
//通过for循环将原数组复制到新数组中
for (int i = 0; i < nums.length; i++) {
nums1[i] = nums[i];
}
//遍历输出
System.out.println("循环将原数组中所有元素逐一赋值给新数组:");
for (int i = 0; i < nums1.length; i++) {
System.out.print(nums1[i]+"\t");
}
//第二种 通过System.arrarycopy(原数组,原数组起始,新数组,新数组起始,长度)
int[] nums2 = new int[nums.length*2];
//调用方法
System.arraycopy(nums, 0, nums2, 0, nums.length);
//遍历输出
System.out.println();
System.out.println("通过System.arrarycopy(原数组,原数组起始,新数组,新数组起始,长度)方法复制:");
for (int j = 0; j < nums.length; j++) {
System.out.print(nums[j]+"\t");
}
//第三种 java.util.Arrays.copyOf(原数组, 新长度)。返回带有原值的新数组。
//int[] nums3 = java.util.Arrays.copyOf(nums, nums.length);不用导包
int[] nums3 = Arrays.copyOf(nums, nums.length);
System.out.println();
System.out.println("通过java.util.Arrays.copyOf(原数组, 新长度)复制:");
for (int k = 0; k < nums.length; k++) {
System.out.print(nums[k]+"\t");
}
}
}