java经典程序(1-10)

package question;

import java.util.Scanner;
/**
 * java经典程序100例
 * @author llj
 * @date 2019年6月2日
 */
public class Test {
	/**
	 * 1.判断某一年是不是闰年
	 * 能除以4不能除以100闰年
	 * 能除以400是闰年
	 */
	public void test1(){
		while(true){
			Scanner sc = new Scanner(System.in);
			int a = sc.nextInt();
			if(a<3000&&a>0){
				//满足其中一个进行
				if(a%4==0&&a%100!=0||a%400==0){
					System.out.println(a+"是闰年");
				}else{
					System.out.println(a+"不是闰年");
				}
			}else{
				System.out.println("请输入0到3000的数");
			}
		}
	}
	/**
	 * 输入一个分数,显示分数的等级
	 */
	public void test2(){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		String str = "";
		//在这个分数阶段才执行
		if(a>=0&&a<=100){
			switch(a/10){
				case 10 :str = "满分"; break;
				case 9:str="优";break;
				case 8 :str = "良"; break;
				case 7:str="中";break;
				case 6 :str = "差"; break;
				default :str="不及格";
			}
			System.out.println(str);
		}else{
			System.out.println("输入的分数有误");
			System.exit(0);//退出系统
		}
	}
	/**
	 * 编写程序求1+3+5+7+···+99
	 */
	public void test3(){
		int sum=0;
		//i每次加2
		for(int i=1; i<=99; i+=2){
			sum+=i;
		}
		System.out.println(sum);
	}
	//使用for循环打印9*9表
	/**
	 *  1*1=1 
		1*2=2 2*2=4 
		1*3=3 2*3=6 3*3=9 
		1*4=4 2*4=8 3*4=12 4*4=16 
		1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
		1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
		1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
		1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
		1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
	 */
	public void test4(){
		for(int i=1; i<10; i++){
			for(int j=1; j<=i; j++){
				System.out.print(j+"*"+i+"="+j*i+" ");
			}
			//每行打印完换行
			System.out.println();
		}
	}
	/**
	 * 输出所有的水仙花数水仙花数是指一个3位数各位数字的立方和等于本身
	 * 例如:153=1*1*1+5*5*5+3*3*3
	 */
	public void test6(){
		for(int i=100; i<1000; i++){
			//获取百分位
			int aa = i/100;
			//获取十分位153%100=53,53/10=5
			int bb = i%100/10;
			//获取个位153%10=3   取余数
			int cc = i%10;
			//System.out.println(aa +":"+bb+":"+ cc +"==="+i);
			if(aa*aa*aa+bb*bb*bb+cc*cc*cc==i){
				System.out.println(i+"是水仙花数");
				//153是水仙花数
				//370是水仙花数
				//371是水仙花数
				//407是水仙花数
			}
		}
	}
	/**求a+aa+aaa+···+aaaaaaaaa··
	*   其中a 等于1-9之中的一个数
	*   a的大小和最后一项的个数由用户指定
	*/
	public void test7(){
		Scanner sc = new Scanner(System.in);
		System.out.println("输入a的大小!(a>0&&a<=9)");
		int a = sc.nextInt();
		System.out.println("输入最后一项a的个数!");
		int num = sc.nextInt();
		int sum=0;
		int b = a;//保存a的值,保证每次加的都是这个值
		for(int i=0; i<num; i++){
			sum = sum + a;//用sum接收
			a = a*10+b;//a的值表示第几项的值,
		}
		System.out.println(sum);
			/*输入a的大小!(a>0&&a<=9)
			  6
			     输入最后一项a的个数!
			  6
			 740736
		   */
	}
	/**
	 * 求2/1+3/2+5/3+8/5+····前20项的和
	 * 规律:分子和分母的值都是前两项的和
	 * 分子 2 3 5 8 13 21 。。。
	 * 分母 1 2 3 5 8 13
	 */
	public void test8(){
		double sum = 0;
		double fz = 2.0;
		double fm = 1.0;
		for(int i=0; i<4; i++){
			sum+=fz/fm;
			double temp = fm;
			fm = fz; //下一项的分母等于上一项的分子
			fz = fz+temp;//下一项的分子等于上一项的分子加分母
		}
		System.out.println(sum);//6.7666666666666675

	}
	/**
	 * 利用程序输出以下图形
	 *         *
	 *         ***
	 *         *****
	 *         *******
	 *         *****
	 *         ***
	 *         *
	 * 
	 */
	public void test9(){
		for(int i=1; i<=13; i+=1){
			for(int j=1; j<=i&&j+i<=14; j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
	/**
	 * 计算圆周率
	 * PI=4-4/3+4/5-4/7...
	 * 打印出第一个大于3.1415小于3.1416的值
	 */
	public void test10(){
		//分子为4,分母 1 3 5 7 9 符号:- + - +
		double PI=4.0;
		double fm = 3.0;
		int i = 0;
		while(true){
			i++;//循环次数
			if(i%2==0){//用于判断正负号
				PI = PI-4.0/fm;
			}else{
				PI = PI+4/fm;
			}
			if(PI>3.1415&&PI<3.1416){
				System.out.println(PI);//3.1415000095284658
				System.out.println(i);//循环次数10793
				return;
			}
			fm+=2;//分母每次加2
		}
		
	}
	/**
	 * 计算圆周率
	 * PI=4-4/3+4/5-4/7...
	 * 打印出第一个大于3.1415小于3.1416的值
	 */
	public void test10_1(){
		//分子为4,分母 1 3 5 7 9 符号:- + - +
		double PI=4.0;
		double fm = 3.0;
		double fz = -4.0;
		int i = 0;
		while(true){
			i++;
			PI+=fz/fm;
			fz =fz*(-1);
			fm+=2;
			if(PI>3.1415&&PI<3.1416){
				System.out.println(PI);
				System.out.println(i);//循环次数10793
				return;
			}
		}
	}
		
	public static void main(String[] args) {
		Test t = new Test();
		t.test4();
	}
}

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值