用循环语句解决实际问题的案例

本文通过多个实例展示了循环语句在计算100以内奇数和、判断素数、累乘、数列、递归、日期计算、简易登陆系统、绘制图形等方面的应用,包括直角三角形、99乘法表、空心菱形和圣诞树等图形的绘制,同时探讨了死循环和一些基础数学计算如水仙花数、进制转换、最大公约数与最小公倍数的实现。
摘要由CSDN通过智能技术生成

1 计算100以内所有奇数的和

在这里插入图片描述

@Test
	public void test() {
   
		int sum = 0;
		for (int i = 1; i <= 100; i++) {
   

			if (i % 2 != 0) {
   // 奇数
				sum += i;
			}

		}
		System.out.println(sum);
	}

2 判断一个数是不是素数

@Test
	public void primeTest() {
   
		int n = 37;
		boolean f = false;
		for (int i = 2; i < n; i++) {
   
			/*
			 * 如果 不是素数 ,f变为真,break直接跳出去执行下一步,f是true;
			 * 122次除完,都不等于0,那就是素数,也跳出去,f还是false;
			 */
                  if(n%i==0) {
   //能等于0,就不是素数
                	  System.out.println(i);
                	  f=true;
                	  break;//
                  }
		}
		/*
		 * 执行这一步,f为真或者为假
		 */
		if (f) {
   

			System.out.println(n + "不是素数");
		} else {
   
			System.out.println(n + "是素数");
		}

	}

3 累乘

	@Test
	public void facTest() {
   
		int s = 1;
		for(int i=1;i<=4;i++) {
   //运行四次
			s*=i ;
		}
		System.out.println(s);
	}

4 数列

在这里插入图片描述

	@Test
	public void fibTest() {
   
		int a = 1;
		int b = 1;//要用草稿本,画出来就能做出来
		
		for(int i=1;i<=18;i++) {
   //打印斐波拉契数列前十八项
			int c = a+b;
			System.out.println(c);
			a=b;
			b=c;
		}
	}

5 递归

在这里插入图片描述


	@Test
	public void test3() {
   
		int a = 1;
		int b = 1;
		
		for(int i=1;i<=18;i++) {
   
			int c = a+b;
			System.out.println(b+"/"+c);
			a=b;
			b=c;
		}
	}

6 输入年月日,计算是那一年的第几天

在这里插入图片描述


	@Test
	public void daytest4() {
   
		Scanner sc = new Scanner (System.in);
		System.out.print("输入年:");
		int year = sc.nextInt();
		System.out.print("输入月:");
		int mouth = sc.nextInt();
		System.out.print("输入日:");
		int day= sc.nextInt();
		
		int m = mouth;
		int sum = 0;
		
		/*
		 * 用switch把每个月多少天列出来,用for把个个月天数加起来
		 */
		for(int i=1;i<m;i++){
   
			
		switch(i){
   
			
			case 1:
				sum+=31;
				break;
			case 2:
				sum+=28;
				break;
			case 3:
				sum+=31;
				break;
			case 4:
				sum+=30;
				break;
			case 5:
				sum+=31;
				break;
			case 6:
				sum+=30;
				break;
			case 7:
				sum+=31;
				break;
			case 8:
				sum+=31;
				break;
			case 9:
				sum+=30;
				break;
			case 10:
				sum+=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值