您的位置:首页 > 编程语言 > Java开发

Java中循环问题:for,while,do-while 各种练习(打印上三角、下三角、输出100以内的素数、水仙花、最大公约、最小公倍数、分解质因数、兔子问题)

2015-08-16 20:47 1146 查看
</pre><pre name="code" class="java">package jereh1;

import java.util.Scanner;

public class Class2XunHuan {
	public static void main(String[] arge) {
		// /* 打印下列图形 i j 2i-1
		// * * 1       4-1 1
		// * *** 2     4-2 3
		// * ***** 3   4-3 5
		// * ******* 4 4-4 7
		// *
		// *
		// */
		// int i=1;
		// while(i<5){
		// int j=0;
		// while(j<4-i){
		// System.out.print(" ");
		// j++;
		// }
		// int m=0;
		// while(m<(2*i-1)){
		// System.out.print("*");
		// m++;
		// }
		// System.out.println("");
		// i++;
		// }
		//		
		// /*
		// *
		// *
		// *
		// * *******    i j
		// * *****    1 6 1
		// * ***      2 5 2
		// * *        3 4 3
		// *
		// */
		// int w=1;
		// while(w<=3){
		// int k = 1;
		// while(k<=7-w){
		// if(k<=w)
		// System.out.print(" ");
		// else
		// System.out.print("*");
		// k++;
		//				
		//				
		// }
		//			
		// System.out.println("");
		// w++;
		// }

		// 题目:古典问题:有一对兔子,从出生后第3个月起每个月
		// 都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
		// 假如兔子都不死,问每个月的兔子对数为多少?
		// 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
		/*
		 * i j 1 1 2 1 3 2
		 * 
		 * 
		 * 
		 * 
		 * 
		 * 
		 * 
		 * 1,1,2,3,5,8,13.......
		 */

		/*
		 * 磊子的方法 int a=1; int i=1; int b=0; int c=0; while(i<=20){
		 * System.out.println(a); c=a+b; b=a; a=c; i++; }
		 */

		/*
		 * int i=1; int j[]=new int[20]; j[1]=1;j[2]=1; while(i<=20){ if(i>2){
		 * 
		 * j[i]=j[i-1]+j[i-2];
		 * 
		 * 
		 * System.out.println(j[i]); }else{ int b=0; b=1; System.out.println(b);
		 * } i++; }
		 */

		// //素数问题
		// int i=102;
		// while(i<200){
		// int j=2;
		// boolean yes = true;
		// while(j<i){
		// if((i%j) == 0){
		// yes = false;
		//					
		// break;
		// }
		// j++;
		// }
		// if(yes){
		// System.out.println(i);
		// }
		// i++;
		// }
		//		

		// //题目:打印出所有的"水仙花数",
		// //所谓"水仙花数"是指一个三位数,
		// //其各位数字立方和等于该数本身。
		// int i=100,a,b,c;
		// while(i<1000){
		// a=i/100;
		// b=i/10-a*10;
		// c=i-a*100-b*10;
		// if((a*a*a+b*b*b+c*c*c) == i)
		// System.out.println(i);
		// i++;
		// }

		// //题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,
		// //60-89分之间的用B表示,60分以下的用C表示。
		// Scanner input=new Scanner(System.in);
		// System.out.print("请输入1-100之间的数");
		// int i=input.nextInt();
		// if(0<i&&i<=100){
		// char result=(i>=60)?((i<=90)?'A':'B'):'C';
		// System.out.print(result);
		// }else{
		// System.out.print("请输入一个正确的数字");
		// }

		// //题目:输入一行字符,分别统计出其中英文字"母、空格、
		// //数字和其它字符的个数。
		// Scanner input=new Scanner(System.in);
		// System.out.println("请输入一串字符");
		// String i=input.next();
		// char a[]= i.toCharArray();
		// int b=0,c=0,d=0,e=0;
		
		// while(b<a.length){
		// if((a[b] >= 'A' && a[b]<='Z')||(a[b]>='a'&&a[b]<='z')){
		// c++;
		//    	   
		// }else if(a[b] == ' '){
		// d++;
		// }else {
		// e++;
		// }
		// System.out.println("英文字母个数:"+c);
		// System.out.println("空格个数:"+d);
		// System.out.println("其他字符的个数:"+e);
		// }

		// //题目:输入两个正整数m和n,求其最大公约数
		// Scanner input = new Scanner(System.in);
		// System.out.println("请输入第一个整数:");
		// int a = input.nextInt();
		// System.out.println("请输入第二个整数:");
		// int b = input.nextInt();
		// int i = 0, l = 0, m = 0, n = 0, j = 1, k = 1;
		// if (a % b == 0 || b % a == 0) {
		//
		// int t = (a > b) ? b : a;
		// System.out.println(t);
		// } else {
		// while (j < a) {
		//
		// if (a % j == 0) {
		// m = j;
		// }
		// j++;
		// }
		// while (k < b) {
		//
		// if (b % k == 0) {
		// n = k;
		// }
		// k++;
		// }
		// if (n == 1 || m == 1) {
		// System.out.println("这两个数没有公约数:");
		// } else if (m == n) {
		// System.out.println("这两个数的公约数为:" + m);
		// } else if (m % n == 0) {
		// System.out.println("这两个数的公约数是:" + n);
		// } else if (n % m == 0) {
		// System.out.println("这两个数的公约数是:" + m);
		// } else {
		//
		// System.out.println("这两个数没有公约数:");
		// }
		// }
		
		
		
		
		
//		题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
//		Scanner input = new Scanner(System.in);
//		System.out.println("请输入一个整数:");
//		int i = input.nextInt();
//		int a = 2;
//		int j = 0, m = i;
//		int b[] = new int[5];
//		System.out.print(i + "=");
//		while (a < i) {
//
//			if (m % a == 0) {
//				m /= a;
//				b[j] = a;
//				a--;
//
//				System.out.print(b[j] ); 
//				j++;
//				int k=0;
//				if(k<j){	
//            	  System.out.print("*");
//            	  k++;
//				}
//			}
//
//			a++;
//
//		}
		
		
		

	}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: