java基础练习题

1.求200以上最小的质数(质数是只能被1和自身整除)
思路:因为质数只能被1和自身整除,所以利用循环,让数字从2开始一直除,只要除到这个数的一半就好,因为到一半,如果有能被整除的数,就证明该数不是质数,如果一直没有
能被整除的数字,证明这个数字就是质数。

public class Test {

	public static void main(String[] args) {
	
		for(int n = 200;;n++) {
			boolean kg = false; //让开关处于关闭状态
			for(int i = 2; i <= n/2; i++) {
				if(n % i == 0) {
					kg = true; //让开关处于开启状态
					break;//结束循环出来的数就不是质数,此时开关打开
				}
			}
			if(kg == true) {//如果开关打开,证明不是质数
				continue;//什么都不做,本轮轮空,继续下轮循环
			}else {//如果开关没打开,证明是质数
				System.out.println(n);//打印质数
				break;//因为求最小的质数所以,第一个出来的质数就是最小的,所以马上结束循环
			}
		}
	}
}

2.斐波那契数列:1,1,2,3,5,8…
一般而言,兔子在出生两个月后,就有繁殖能力。一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
思路:
规律: 第N月(对数) = 第N-1月(对数)+第N-2月(对数) (N>=3)
从第三月开始,兔子的数量等于前两个月兔子数量的总和。
第1月     1对
第2月     1对
第3月     2对    2(三月份兔子的数量)=1(二月份兔子的数量)+1(一月份兔子的数量);
第4月     3对    3=1+2;
第5月     5对    5=2+3;
第6月     8对    8=3+5;
第7月    13对    13=5+8;
第8月     21对    21=8+13;
第9月     34对    34=13+21;
第10月    55对    55=21+34;
第11月    89对    89=34+55;
第12月    144对  144=55+89;
根据规律 当月对数设为n,上月的对数设为n1,上上月设为n2
n=n2+n1;
n2=n1;
n1=n;

public class Test{
	public static void main(String[] args) {	
		int n = 0;//总对数
		int n1 = 1;//上月的对数
		int n2 = 1;//上上月的对数
				
		for(int i = 3;i <= 12;i++) {
			n = n2 + n1;
			n2 = n1;
			n1 = n;
		}
		System.out.println(n);
	}
}

3.鸡兔同笼问题:已知共有鸡和兔15只,共有40只脚,问鸡和兔各有几只?

public class Test3 {

	public static void main(String[] args) {
		for(int x = 0; x <= 15; x++) {//鸡的数量
			for(int y = 0; y <= 15; y++) {//兔子的数量
				if(x + y == 15 && 2*x+4*y == 40) {
					System.out.println("鸡的数量:"+x);
					System.out.println("兔的数量:"+y);
				}
			}
		}
	}
}

4.控制台中输入一个数字,看是否在数组中存在,如果存在显示下标,如果不存在,显示没找到

public class Test {

	public static void main(String[] args) {
	  
		int[] a = {23,12,11,15,28,42,31,55,8,17,12}; 
		
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数");
		int n = sc.nextInt();
		
		boolean kg = false;//设置一个开关,当开关等于true时表示输入的数字在数组中存在,反之不存在
		
		for(int i = 0;i < a.length ;i++ ) {
			if(n == a[i]) {
				kg = true;
				System.out.println(i);
			}
		}
		/*如果输入的数字在数组中存在,此时kg等于true,所以!kg等于false,因此不打印该语句,
          如果输入的数字在数组中不存在,此时kg等于false,所以!kg等于true,因此打印该语句。
		*/
		if(!kg) {
			System.out.println("没有找到");
		}
		
		
	}
}

你可能感兴趣的:(java)