1. 数组查找操作
定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,
程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”.
---------------------------------------------------------------------------
import java.util.*;
public class ArraySearch {
public static void main(String[] args) {
String[] s;
s = new String[]{"hello","world","right","red","pink","food","big","boom","trace","fly"};
Scanner scan = new Scanner(System.in);
String inName = scan.nextLine();
searchStr(s,inName);
}
public static void searchStr(String[] s, String str) {
for(String ss: s) {
if(str.equals(ss)){
System.out.print("yes");
return;
}
}
System.out.print("no");
}
}
2. 获取数组最大值和最小值操作
利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数.并找出产生50个这样的随机数中最大的、最小的数,
并统计其中>=60的有多少个.
提示:使用 int num=(int)(n*Math.random());获取随机数.
--------------------------------------------------------------------------
import java.io.IOException;
import java.util.Scanner;
public class MaxAndMinValue {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
acquireNum(n);
}
public static void acquireNum(int n) {
int a[] = new int[50];
for(int i=0;i<a.length;i++) {
a[i] = (int)(Math.random() * n + 1);
}
int max=a[0];
int min=a[0];
int number = 0;
for (int i : a) {
if(i>=60) {
number++;
}
if(max<i) {
max = i;
}
if(min>i) {
min = i;
}
}
System.out.println("Those max is : " + max);
System.out.println("Those min is : " + min);
System.out.println("More than the 60 numbers : " + number);
}
}
3. 数组逆序操作
定义长度为10的数组,将数组元素对调,并输出对调前后的结果.
思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2的元素交换…..
只要交换到arr.length/2的时候即可.
-------------------------------------------------------------------------
import java.util.Arrays;
public class NumExchange {
public static void main(String[] args) {
int a[] = {2,4,5,6,7,8,234,23,12,54};
exchangeElement(a);
}
public static int[] exchangeElement(int[] a) {
int t;
int len = a.length;
for(int i=0;i<=(len-1)/2;i++) {
t = a[i];
a[i] = a[len-i-1];
a[len-i-1] = t;
}
System.out.print(Arrays.toString(a));
return a;
}
}