尚学堂第七章课后编码题

习题

  1. 数组查找操作:定义一个长度为10
    的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”。
/**
 * 查找键入值
 * @author WCS
 *
 *
 */
public class TT { 
	public static void main(String args[]){
		String[] Str = {"a","ab","abc","abcd","abcde","abcdef","abcdefg","abcdefgh","aa","bb"};		
		Scanner Input = new Scanner (System.in);//新建一个键入对象
		System.out.print("请输入字符串:");
		String str2 = Input.nextLine();//把键入的值赋值给一个数组存起来
		System.out.println("输入的是:"+ str2);
		System.out.println("数组中包含上面输入的数吗:"+Search(Str,str2));
			
}
	/**
	 * 
	 * @param Arrays 数组
	 * @param S 键入值
	 * @return String 为返回值类型
	 */
	public static String Search(String[] Arrays, String S){
		for(int i=0;i <Arrays.length;i++){
			if(Arrays[i].equals(S)){//对比键入值是否在数组中能找到相同的
				return "YES";//找到则返回YES
			}
		}
		return "NO";//找不到就返回NO		
	}
}
  1. 获取数组最大值和最小值操作:利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数。并找出产生50个这样的随机数中最大的、最小的数,并统计其中>=60的有多少个。

​ 提示:使用 int num=(int)(n*Math.random());获取随机数。

public class TT { 
	public static void main(String args[]){
		int [] Str=  new int [50];//首先定义一个50长度的数组
		int max_1 = 0,min_1 = 0,value_1 = 0;//初始化 最大最小和大于60的数的个数 的值
		for(int i= 0;i<50;i++){//获取随机数组
			Str[i] = (int)(100*Math.random());//获取一个随机数
		}
		System.out.println(Arrays.toString(Str));
		math(Str,max_1,min_1,value_1);//调用比较方法	,输出结果	
	}

	/**
	 * 比较方法
	 * @param Arrays 数组名
	 * @param max 最大值
	 * @param min 最小值
	 * @param value 大于60的个数
	 */
	public static void math (int[] Arrays,int max, int min,int value){
		for(int i=0;i<Arrays.length;i++){
			if(Arrays[i]>max){
				max = Arrays[i];
			}
			if(Arrays[i]<min){
				min = Arrays[i];
			}
			if(Arrays[i]>=60){
				value++;
			}
		}
		System.out.println("数组中最大的数是:"+max);
		System.out.println("数组中最小的数是:"+min);
		System.out.println("数组中大于60的数有:"+value+"个");
		
	}
}
  1. 数组逆序操作:定义长度为10的数组,将数组元素对调,并输出对调前后的结果。

    思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2的元素交换……

    只要交换到arr.length/2的时候即可。

public class TT { 
	public static void main(String args[]){
		int [] S= {1,2,3,4,5,6,7,8,9,10,11};//首先定义一个长度为10的数组
		System.out.println("交换后的数组是:"+Arrays.toString(Exchange(S)));
}
	/**
	 * 
	 * @param Arrys 传入数组
	 * @return 返回一个交换后的数组
	 */
	public static int[] Exchange (int[] Arrys){		
		int mid=0,temp1=0;
		mid = Arrys.length/2-1;//中间值
		System.out.println(mid);
			for(int i=0;i<=mid;i++){//奇偶个数数组都正确.
				temp1= Arrys[i];
				Arrys[i]= Arrys[Arrys.length-1-i];
				Arrys[Arrys.length-1-i]= temp1;
			}		
		return Arrys;
	}
}


你可能感兴趣的:(习题)