对最近学习java后做题的记录

以下这些题目是在对java基础学习了后的考核检验,记录在这里算是一个笔记吧,虽然比较简单,但还是希望能有一定的参考价值,希望可以帮到正在学习的你。

题目1:输出1到200之间能被3整除又能被5整除的所有整数,要求每行输出5个整数

         int count =0;
		//循环1到200之间的数
		for(int i = 1;i<=200;i++) {
			//进行条件能被三和五整除的判断
			if(i%3==0 & i%5==0) {				
				System.out.print(i+"\t");
				//每输出一个数就让自增
				count++;
				//每行输出五个数就换行
				if(count%5==0) {
					System.out.println();
				}				
			}		
		}		

题目2:先对数组【1,3,9,5,6,7,1,5,4,8】进行排序,然后二分查找法找出数数组中的元素8,标出其下标的位置;

         int[] arr= {1,3,9,5,6,7,1,5,4,8};				
		//对数组arr2进行冒泡排序,以便进行二分查找
			for (int i = 0; i < arr.length-1; i++) {
				for (int j = 0; j < arr.length-1-i; j++) {
					if (arr[j]>arr[j+1]) {
						int temp = arr[j];
						arr[j] = arr[j+1];
						arr[j+1] = temp;
					}	
				}	
			}
			System.out.print("数组正序排列为:");
			for (int i = 0; i < arr.length; i++) {
				System.out.print(arr[i] + "\t ");
				
			}
			System.out.println();
            //声明要查找的数字8
			int key = 8;
			//初始最大下标
			int maxArr=arr.length-1; 
			 //初始最小下标
			int minArr=0;   
			//设置中间下标
			int index=(minArr+maxArr)/2; 
			//进行二分查找
				for(int i=0;i<arr.length;i++){ 
					 //数组中间的下标值比key大时,说明key在数组的前半段
					if(arr[index]>key){
						//如果满足if的条件则重新设置最大下标
						maxArr=index; 
						//重新设置最小下标
						index=index/2;    
					}
					//数组中间下标值比key小时,说明key在数组的后半段
					else if(arr[index]<key) { 
						minArr=index;     
						index=(minArr+maxArr)/2;
					}
				}
				System.out.println("8在数组中的下标是"+index);

题目3:生成0—9的100个随机整数并且显示每一个数的个数

             Random r =new Random();
		//定义一个数组存放生产的100个随机数
		int arr[] = new int[100];
		//声明并初始化一个变量,以便于后面的换行
		int count = 0;
		//声明一个数组用于记录每个随机数出现的次数

           int[] num = new int[100];
		System.out.println("生成的一百个随机数为:");
		for(int i=0; i<100; i++) {
			arr[i] = r.nextInt(10);
			   System.out.print(arr[i] +"\t"); 
			   count++;
			   num[arr[i]]++;
			   //每行十个数进行一次换行
		if(count%10==0) {
			System.out.println();
		}			
		}
		System.out.println("每个随机数出现的次数如下:");
		for(int i=0;i<=9;i++) {
			System.out.println(i+"--"+num[i]);
		}
		

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值