java函数——数组练习题01

在这里插入图片描述

public static void main(String[] args) {
	/*创建一个长度为100的数组
	 * 将输入的数字减一作为对应的角标,给相应的数组加1.
	 * 最终遍历数组,将非零的数组打印出来
	 * */
	resolve();
}
public static void resolve() {
	int[] num=new int[100];
	System.out.println("enter some numbers of 0-100");
	Scanner scanner=new Scanner(System.in);
	while(true) {
		int n=scanner.nextInt();
		if(n==0) {
			break;
		}else {
			num[n-1]++;
		}
	}
	for(int i=0;i<num.length;i++) {
		if(num[i]!=0) {
			if(num[i]==1){
				System.out.println(i+1+" occurs "+1+" time ");
			}else{
				System.out.println(i+1+" occurs "+num[i]+" times ");
			};
		}
	}
}

在这里插入图片描述

public static void main(String[] args) {
	Scanner scanner=new Scanner(System.in);
	System.out.println("please enter some numbers");
	int[] arr=new int[0];
	for(int i=1;i<=10;i++) {
		int n=scanner.nextInt();
		if(!contains(arr,n)) {
			arr=add(arr,n);
		}
	}
	pringArray(arr);
}

//打印数组
public static void pringArray(int[] arr) {
	String res="[ ";
	for(int i=0;i<arr.length;i++) {
		if(i==arr.length-1) {
			res=res+arr[i]+" ]";
		}else {
			res=res+arr[i]+",";
		}
	}
	System.out.println(res);
}
//判断是否存在该数字
public static boolean contains(int[] arr,int number) {
	for(int i=0;i<arr.length;i++) {
		if(arr[i]==number) {
			return true;
		}
	}
	return false;
}

//添加数字
public static int[] add(int[] arr,int e) {
	arr=Arrays.copyOf(arr,arr.length+1);
	arr[arr.length-1]=e;
	return arr;
}

在这里插入图片描述

public static void main(String[] args) {
	Scanner scanner =new Scanner(System.in);
	System.out.println("please enter ten numbers");
	int[] list=new int[10];
	for(int k=0;k<10;k++) {//假设规定输入10个数字
		int n=scanner.nextInt();
		list[k]=n;
	}
	if(isSorted(list)) {
		System.out.println("the list is already sorted");
	}else {
		System.out.println("the list is not sorted");
	}
}
public static boolean isSorted(int[] list) {
	for(int i=0;i<list.length-1;i++) {
		for(int j=i+1;j<list.length;j++) {
			if(list[i]>list[j])
				return false;
		}
	}
	return true;
}

在这里插入图片描述

public static void main(String[] args) {
	Scanner scanner=new Scanner(System.in);
	System.out.print ("please enter the number of balls to drop: ");
	int number=scanner.nextInt();
	System.out.print("please enter the number of slots in the bean machine: ");
	int solt=scanner.nextInt();
	//槽子的个数和球的路径数一样
	String[] paths=new String[number];//每个球的路径,用数组来表示
	int[] slots=new int[solt];//每个槽子里面球的个数
	for(int i=0;i<number;i++) {//记录每一个球的路径
		String path="";
		for(int j=0;j<solt-1;j++) {
			if((int)(Math.random()*2)==0) {
				path=path+"L";
			}else {
				path=path+"R";
			}
		}
		paths[i]=path;
	}
	for(int k=0;k<number;k++) {//打印路径
		System.out.println(paths[k]);
	}
	//每个路径中R的个数+1显示了球落到了第几个槽子
	for(int i=0;i<number;i++) {
		String path=paths[i];
		int count=0;
		for(int j=0;j<path.length();j++) {
			if(path.charAt(j)=='R') {
				count++;
			}
		}
		slots[count]++;
	}
	for(int i=0;i<slots.length;i++) {
		System.out.println("第 "+i+1+" 个槽子: "+slots[i]+" 个球");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值