本周学习了java的基础知识并完成了一些相关的,代码示例
.1300个人围成一个圈,从某个指定的人开始报数,数到3的人退出继续开始数到3,求最后剩下的人的位置。
package j0413;
public class MyTest4 {
 public static void main(String[] args) {
		/*
		 *  300个人围成一个圈,从某个指定的人开始报数(1--3),凡是数到3的人退出圈子,
		 *  问最后剩下的一个是从指定位置开始计数的第几个人?
		 */
		
		int num[]=new int[300];
		int i=0;     // 数组的下标计数器 0---299
		int count=0; // 退出的人数计数器 0---299
		int n=1;     // 数数的计数器         1---3
		
		while(count<299){
			// 数组的值如果是1,代表该位置的人不存在
			// 不存在的位置则直接跳过
			if(num[i]==1){
				i++;
				if(i>299) i=0;
				continue;
			}
			// 数数计数器值为3,代表该位置上的人需要退出
			if(n==3){
				num[i]=1;  // 代表退出
				count++;   // 退出的人数计数器累加
//				System.out.println("退出序号:"+(i+1)+",计数器:"+count);
			}
			
			n++;
			if(n>3) n=1;
			i++;
			if(i>299) i=0;
		}
//		System.out.println(count);
		for(i=0; i<num.length; i++){
			if(num[i]==0){
				System.out.println("最后剩下的序号为:"+(i+1));
			}
		}
	}
}
-----------------------------------------------------------------------------------------------------------------------------------
求1到500的素数个数
package j0413;
public class Homework1 {
 public static void main(String[] args) {
		//获取并输出1--500之间的素数,并输出数量
		int count=0;
		for(int i=2; i<=500; i++){
			boolean bl = false;
			for(int j=2; j<i; j++){
				if(i%j==0){
					bl = true;
					break;
				}
			}
			if(!bl){
				System.out.println(i+"是一个素数");
				count++;
			}
		}
		System.out.println("\n素数总个数:"+count);
}
}
-----------------------------------------------------------------------------------------------------------------------------------
 大乐透彩票模拟器:
			     规则: 前区01-35中随机生成5个号码
					    后区01-12中随机生成2个号码
				模拟操作,系统自动生成号码组合,并且按从小到大的顺序输出结果
				同时要求可以选择生成多少组(默认选项:生成1组,生成5组,生成10组)
int a[]=new int[36], b[]=new int[13];
		
		int count=0;
		
		while(count<5){
			int num=(int)(Math.random()*35+1);
			if(a[num]==0){
				a[num]=1;
				count++;
			}
		}
		count=0;
		while(count<2){
			int num1=(int)(Math.random()*12+1);
			if(b[num1]==0){
				b[num1]=1;
				count++;
			}
		}
		
		System.out.print("前区的号码是:");
		for(int i=1; i<a.length; i++){
			if(a[i]==1)
				System.out.print((i<10?"0"+i:i)+"  ");
		}
		System.out.print("\n后区的号码是:");
		for(int i=1; i<b.length; i++){
			if(b[i]==1)
				System.out.print((i<10?"0"+i:i)+"  ");
		}
		
		/*
		 *  常规做法
		 int before[] = new int[5];
		int num1, num2;
		
		int count=0;
		
		while(count<5){
			if(count==0){
				before[count] = (int)(Math.random()*35+1);
			}else{
				int temp = (int)(Math.random()*35+1);
				before[count] = temp;
				for(int i=0; i<count; i++){
					if(temp==before[i]){
						count--;
						break;
					}
				}
			}
			count++;
		}
		
		for(int i=1; i<before.length-1; i++){
			boolean bl = false;
			for(int j=0; j<before.length-i; j++){
				if(before[j]>before[j+1]){
					int temp=before[j];
					before[j]=before[j+1];
					before[j+1]=temp;
					bl=true;
				}
			}
			if(!bl) break;
		}
		
		System.out.print("前区的号码是:");
		for(int i=0; i<before.length; i++){
			System.out.print((before[i]<10?"0"+before[i]:before[i])+"  ");
		}
		*/
}
}
-----------------------------------------------------------------------------------------------------------------------------------
本周学习了java的基础语法,程序流程控制,数组。要完成这些练习题需要能够熟练地运用所学并且,在编写代码是有清晰地思路,把代码化难为易,一步一步实现代码功能。
原文:http://www.cnblogs.com/hzzh/p/6718510.html