目录
第1关:数组的复制
编程要求
在右侧编辑器Begin-End中填充代码,将arr1数组中的数据全部复制给arr2数组,最后输出arr2中所有的数据。
测试说明
我会对你的程序进行测试,如下:
测试输入:1,3,12
预期输出:
1
3
12
测试输入:2,13,11
预期输出:
2
13
11
开始你的任务吧,祝你成功!
package step1;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
//动态构建arr1
int[] arr1 = new int[3];
Scanner sc = new Scanner(System.in);
for(int i = 0 ; i< arr1.length ; i++){
arr1[i] = sc.nextInt();
}
/********** Begin **********/
//创建数组arr2
int[] arr2 = new int[3];
//使用for循环将arr1的数据复制给arr2
int i=0;
for(int k = 0 ; k< arr2.length ; k++){
arr2[k] = arr1[i];
i++;
}
//输出arr2
for(i=0;i<arr2.length;i++)
{
System.out.println(arr2[i]);
}
/********** End **********/
}
}
第2关:数组中元素的查找
编程要求
在右侧编辑器Begin-end处填充代码,实现在数组中查找指定字符串位置的功能。
测试说明
测试输入:张三
预期输出:张三在数组的第1个位置
测试输入:张富贵
预期输出:张富贵在数组的第5个位置
开始你的任务吧,祝你成功!
package step2;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//str为要查找的字符串
String str = sc.next();
/********** Begin **********/
//创建数组 arr 给数组赋值 {"张三","张三丰","张无忌","王二麻子","张富贵"}
String arr[]={"张三","张三丰","张无忌","王二麻子","张富贵"};
for(int i=0;i<arr.length;i++)
{
if(arr[i].equals(str))
System.out.println(arr[i]+"在数组的第"+(i+1)+"个位置");
}
/********** End **********/
}
}
第3关:交换算法
编程要求
是时候检验一下啦,在右侧编辑器Begin-end中填充代码,完成两个变量的交换吧。
测试说明
测试输入:3,5
预期输出:
5
3
测试输入:4,2
预期输出:
2
4
开始你的任务吧,祝你成功!
package step3;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
/********** Begin **********/
//将a的值赋给b b的值赋给a
int c;
c=a;
a=b;
b=c;
/********** End **********/
System.out.println(a);
System.out.println(b);
}
}
第4关:选择排序
编程要求
在右侧Begin-End区域中添加代码,实现对数组arr的降序排序,并输出排序后的arr数组。
测试说明
我会对你的程序进行测试;
预期输入:6,6,5,0,2,8,9
预期输出:[9, 8, 6, 5, 2, 0]
预期输入:4,3,12,1,13
预期输出:[13, 12, 3, 1]
开始你的任务吧,祝你成功!
package step4;
import java.util.Arrays;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//动态创建数组
int[] arr = new int[sc.nextInt()];
for(int i = 0 ; i< arr.length ; i++){
arr[i] = sc.nextInt();
}
/********** Begin **********/
for(int i=0;i<arr.length-1;i++)
{
int max=i;
for(int j=(i+1);j<arr.length;j++)
{
if(arr[max]<arr[j])
{
max=j;
}
}
int temp=arr[max];
arr[max]=arr[i];
arr[i]=temp;
}
System.out.println(Arrays.toString(arr));
/********** End **********/
}
}
第5关:冒泡排序
编程要求
在编辑器Begin-end处填充代码,使用冒泡排序对数组arr进行升序排序,最后输出排序之后数组arr中的数据。
测试说明
预期输入:6,9,5,8,0,2,6
预期输出:[0, 2, 5, 6, 8, 9]
预期输入:4,3,12,13,0
预期输出:[0, 3, 12, 13]
开始你的任务吧,祝你成功!
package step5;
import java.util.Arrays;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//动态创建数组
int[] arr = new int[sc.nextInt()];
for(int i = 0 ; i< arr.length ; i++){
arr[i] = sc.nextInt();
}
/********** Begin **********/
int n=arr.length;
for(int i=0;i<n-1;i++)
{
int min=i;
for(int j=i+1;j<n;j++)
{
if(arr[min]>arr[j])
{
min=j;
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
i++;
}
else{
min++;
i++;
}
}
n--;
i=0-1;
}
System.out.println(Arrays.toString(arr));
/********** End **********/
}
}