一些java基础小练习

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aipanyu/article/details/81675335
  1.     用递归完成阶乘算法

  2.     根据随机生成的的月份,打出该月份的天数.(不考虑闰年、闰月)

  3.     用 while 和 for 循环分别计算 100 以内奇数和偶数的和,并输出。

  4.     用 while 和 for 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个。

  5.     打印出九九乘法表

  6.     编程求:∑1+∑2+……+∑100

  7.     生成 0-100 随机数,直到生成 88 为止,停止循环!

  8.     把 100~150 之间不能被 3 整除的数输出

  9.     打印出实心 10*10 正方形、空心 10*10 正方形

  10.     打印出实习 10*10 菱形, 空心 10*10 菱形

  11.     将如上所有上机相关算法的作业,封装成方法,便于重用。

import java.util.Random;

/**
	用递归完成阶乘算法
	根据随机生成的的月份,打出该月份的天数.(不考虑闰年、闰月)
	用 while 和 for 循环分别计算 100 以内奇数和偶数的和,并输出。
	用 while 和 for 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个。
	打印出九九乘法表
	编程求:∑1+∑2+……+∑100
	生成 0-100 随机数,直到生成 88 为止,停止循环!
	把 100~150 之间不能被 3 整除的数输出
	打印出实心 10*10 正方形、空心 10*10 正方形
	打印出实习 10*10 菱形, 空心 10*10 菱形
	将如上所有上机相关算法的作业,封装成方法,便于重用。
 * @author ***
 *
 */
public class Test{

	public static void main(String[] args) {
		
		/*
		System.out.println(factorial(9));
		System.out.println(randMonth());
		System.out.println(sub(100));
		division(5);
		print99();
		System.out.println(sigma());
		rand88();
		printNo3();
		printSolidAndHollowSquare();
		 */
		
		printSolidAndHollowDiamond();
	}

	/*递归算算阶乘*/
	public  static int factorial(int x) {
		if(x<0) {
			return 0;
		}
		if(x==1) {
			return 1;
		}else {
			return x*factorial(x-1);
		}
	}
	/*根据随机生成的的月份,打出该月份的天数.(不考虑闰年、闰月)*/
	public static String randMonth() {
		int dayCount=31;
		Random rndMonth = new Random();
        int month = rndMonth.nextInt(12)+1;
       // int[] chang= {1,3,5,7,8,10,12};
        int[] duan = {2,4,6,9,11};//这个几个月每个月只有30天
        
        for (int i : duan) {
			if(month==i) {
				dayCount = 30;
			}
		}

		
		return month+"月有"+dayCount+"天";
	}
	/*用 while 和 for 循环分别计算 100 以内奇数和偶数的和,并输出。*/
	public static String sub(int x) {
		int subOdd=0;//奇数和
		int subEven=0;//偶数和
		for (int i = 0; i <= x; i++) {
			if(i%2==0) {
				subEven = subEven+i;
			}else {
				subOdd = subOdd+i;
			}
		}
		return x+"以内偶数和:"+subEven+" 奇数和:"+subOdd;
	}
	/*判断奇偶数*/
	public static boolean judge(int x) {
		/*偶数 true   奇数 false*/
		if(x%2==0) {
			return true;
		}else {
			return false;
		}
	}
	/*用 while 和 for 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个。*/	
	public static void division(int x) {
		int j=0;
		for (int i = 1; i <= 100; i++) {
			if(i%x==0) {
				j++;
				System.out.print(i+" ");
				if(j==3) {
					j=0;
					System.out.println();
				}
			}
		}
		System.out.println();
	}
	/*打印出九九乘法表*/
	public static void print99() {
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(i+"*"+j+"="+i*j+"  ");
			}
			System.out.println();
		}
				
	}
	/*编程求:∑1+∑2+……+∑100*/
	public static int sigma() {
		int count=0;
		for(int i = 100;i>0;i--) {
			count = count+qiuhe(i);
		}
		return count;
	}
	public static int qiuhe(int x) {
		int count=0;
		for(int i = x;i>0;i--) {
			count = count +i;
		}
		return count;
	}
	/*生成 0-100 随机数,直到生成 88 为止,停止循环!*/
	public static void rand88() {
		int j=0;
		Random rand = new Random();
		int s= rand.nextInt(100);
		while(s!=88) {
			j++;
			System.out.print(s+" ");
			if(j%10==0) {
				System.out.println();
			}
			s= rand.nextInt(100); 
		}
		System.out.println(s);
		System.out.println("总共随机次数:"+j);
	}
	/*把 100~150 之间不能被 3 整除的数输出*/
	public static void printNo3() {
		int j = 0;
		for (int i = 100; i <= 150; i++) {
			if(i%3!=0) {
				j++;
				System.out.print(i+" ");
				if(j%10==0) {
					System.out.println();
				}
			}
		}
	}
	/*打印出实心 10*10 正方形、空心 10*10 正方形*/
	public static void printSolidAndHollowSquare() {
		System.out.println("SolidSquare(10*10):");
		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("HollowSquare(10*10):");
		for (int i = 0; i <10; i++) {
			if(i==0 || i==9) {
				for (int j = 0; j < 10; j++) {
					System.out.print("*");
				}
			}else {
				System.out.print("*");
				for (int j = 0; j < 8; j++) {
					System.out.print(" ");
				}
				System.out.print("*");
			}
			System.out.println();
		}
	}
	/*打印出实习 9*9 菱形, 空心 9*9 菱形*/
	public static void printSolidAndHollowDiamond() {
		int n = 9;
		/*实心*/
		System.out.println("HollowDiamond:");
		//上部分
		for (int i = 0; i < n/2; i++) {
			for (int j = 0; j < (n-(2*i+1))/2; j++) {
				System.out.print(" ");
			}
			for (int j = 0; j < 2*i+1; j++) {
				System.out.print("*");
			}
			for (int j = 0; j < (n-(2*i+1))/2; j++) {
				System.out.print(" ");
			}
			System.out.println();	
		}
		//中部
		for (int i = 0; i < n; i++) {
			System.out.print("*");
		}
		System.out.println();
		//下部
		for (int i = 0; i < n/2; i++) {
			for (int j = 0; j < i+1; j++) {
				System.out.print(" ");
			}
			for (int j = 0; j < (n-(i+1)*2); j++) {
				System.out.print("*");
			}
			for (int j = 0; j < i+1; j++) {
				System.out.print(" ");
			}
			System.out.println();
		}
		/*空心*/
		System.out.println("HollowDiamond:");
		//上部分
	    for (int i = 0; i < n/2+1; i++) {
		if(i==0) {
			for (int j = 0; j < (n-(2*i+1))/2; j++) {
				System.out.print(" ");
			}
			System.out.print("*");
	    	for (int j = 0; j < n-(n-(2*i+1))-2; j++) {
	    		System.out.print(" ");
			}
			System.out.println();	
		}else {
			for (int j = 0; j < (n-(2*i+1))/2; j++) {
				System.out.print(" ");
			}
			System.out.print("*");
			for (int j = 0; j < n-(n-(2*i+1))-2; j++) {
	    		System.out.print(" ");
			}
			System.out.print("*");
			System.out.println();	
		}
	}
		//下部
	    for (int i = 1; i <= n/2; i++) {
	    	if(i==n/2) {
	    		for (int j = 0; j < i; j++) {
					System.out.print(" ");
				}
				System.out.print("*");
	    	}else {
				for (int j = 0; j < i; j++) {
					System.out.print(" ");
				}
				System.out.print("*");
				for (int j = 0; j < n-2*i-2; j++) {
					System.out.print(" ");
				}
				System.out.print("*");
				for (int j = 0; j < i+1; j++) {
					System.out.print(" ");
				}
				System.out.println();
	    	}
	    }
	}

}

 

展开阅读全文

没有更多推荐了,返回首页