分享几道数组的练习题.

1.1)随机点名器
a.存储一些字符串
b.遍历所有的内容
c.随机一个字符串
d.判断是否存在某个字符串在不在

		String[] arr={"1","2","3","4","5","6","7","8","9","10"};
		//遍历所有的内容
		for(int i=0;i<=arr.length-1;i++){
			if(i= =0){
				System.out.print("["+arr[i]+",");
			}else if(i= =arr.length-1){
				System.out.print(arr[i]+"]");
			}else{
				System.out.print(arr[i]+",");
			}
		}System.out.println();
		//随机一个字符数字
		int num=(int)(Math.random()*11);
		System.out.println("随机"+arr[num]);```
		
		public class Test {
	public static void main(String[] args) {
	//首先创建一个数组,存储字符串内容
		//判断某个字符是否存在
		for(String s:arr){
			if("5".equals(s.trim())){
				System.out.println("存在");
			}
		}
	}
}


2)将一个整型数组中的0去掉后返回一个新数组.
例如: int[] arr={1,26,0,8,10,50,8,0,7,35,0,4,3,20,0,17};
 要求:将以上数组中的0去掉,将不为0的值存入一个新数组,生成新的数组作为返回值.
 int newArr={1,26,8,10,50,8,7,35,4,3,20,17};
 
public static int[] passZero(int[] arr){
		//1.判断数组中是否存在0  count->原数组中不为0数据的个数
		int count=0;
		for(int i:arr){
			if(i!=0){
				count++;
			}
		}
		//2.如果没有0就返回原数组
		//如果不为0的数据的个数count与原数组的长度相同,证明所有数据都不为0,没有0
		if(count==arr.length){
			return arr;
		}else{//3.如果有0
			//4.创建新数组,指定长度 count
			int[] newArr=new int[count];
			//5.遍历原数组,拿到不为0的数据放入新数组
			int j=0;
			for(int i=0;i<arr.length;i++){ //作为原数组的索引
				if(arr[i]!=0){
					newArr[j]=arr[i];
					j++;
				}
			}
			//6.返回数组
			return newArr;
		}
	}

3)数组元素查找(查找指定元素第一次在数组中出现的索引)
	   若存在:返回这个元素的下标  
	   若不存在:返回-1 
	   public static int search(int[] arr ,int value){
	for(int i=0;i<=arr.length-1;i++){
		if(value==arr[i]){
			return i;
		}
	}
		
	return -1;
	
}

4)将一个存放了大写字母的数组转换成存放小写字母的数组返回
public  static char[] change(char[] arr){//一个返回char类型的数组
	for(int j = 0;j<=arr.length-1;j++){//遍历
		if(arr[j]>=65&&arr[j]<=90){    
			arr[j]=(char)(arr[j]+32);
		}
	}	
	return arr;
	
}

猜你喜欢

转载自blog.csdn.net/weixin_45116848/article/details/91352673
今日推荐