- 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”。
package pro1;
import java.util.Arrays;
import java.util.Scanner;
public class ArraySearch {
public static void main(String[]args) {
String [] a = {"one","two","three","four","five","six",
"seven","eight","nine","ten"};
TestArraySearch(a);
}
public static void TestArraySearch(String[]a){
System.out.print("请输入一个单词(小写):");
Scanner scanner = new Scanner(System.in);
String word = scanner.nextLine();
boolean flag = false;
for(int i = 0;i<a.length;i++) {
if(a[i].equals(word)) {
flag = true;
}
}
if(flag == true) {
System.out.println("Yes");
}
else{
System.out.println("No");
}
- 获取数组最大值和最小值操作:利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数。并找出产生50个这样的随机数中最大的、最小的数,并统计其中>=60的有多少个。
提示:使用 int num=(int)(n*Math.random());获取随机数。
package pro1;
import java.util.Arrays;
import java.util.Scanner;
public class GetMaxMin {
public static void main(String[]args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入n的值:");
int n = scanner.nextInt();
int[] a = new int[n];
int flag=0;
for(int i=0;i<n;i++){
int num=(int)(n*Math.random());
a[i] = num;
}
System.out.println("原数组为:"+Arrays.toString(a));
Arrays.sort(a);
System.out.println("排序后的数组为:"+Arrays.toString(a));
System.out.println("数组中最大的数为:"+a[n-1]);
System.out.println("数组中最小的数为:"+a[0]);
for(int i=0;i<n;i++){
if(a[i]>=60){
flag++;
}
}
System.out.println("数组中>=60的数有:"+flag+"个");
}
}
- 数组逆序操作:定义长度为10的数组,将数组元素对调,并输出对调前后的结果。
思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2的元素交换……
只要交换到arr.length/2的时候即可。
package pro1;
import java.util.Arrays;
public class ArrayRexersedOreder {
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7,8,9,10};
System.out.println("原数组为:"+Arrays.toString(a));
for(int i=0;i<a.length/2;i++){
int n = a[i];
a[i]=a[a.length-1-i];
a[a.length-1-i]= n;
}
System.out.println("逆序数组为:"+Arrays.toString(a));
}
}