java之循环结构

循环结构

1、(for 循环)计算1+2+3+…+100 的和

public class TestQu1{
	public static void main(String [] args){
		int sum =0;
		for(int i=1;i<=100;i++){
			sum+=i;
		}
		System.out.println("100以内的和为:"+sum);
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o0aFzAFs-1661775538008)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220815191306331.png)]

2、(for 循环)计算1+3+5+…+99 的和。

public class TestQu2{
	public static void main(String [] args){
		int sum =0;
		for(int i=1;i<100;i++){
			if(i%2!=0){
				sum+=i;  
			} 
		}
		System.out.println("100以内的奇数和为:"+sum);
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gKgY5wtQ-1661775538010)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220815191833547.png)]

3、(while/do while循环)把1、2 两题⽤while 循环或do…while 循环改写。

public class TestQu3{
	public static void main(String [] args){
		int sum =0;
		int i=1;
		while(i<=100){                   //while循环
			sum+=i;
			i++;
		}
		System.out.println("100以内的和为:"+sum);
	}
}
-----------------------------------------------------------------------------------------------------------
public class TestQu3{
	public static void main(String [] args){
		int sum =0;
		int i=1;
		while(i<=99){                  //while循环
			sum+=i;
			i+=2;
		}
		System.out.println("100以内的奇数和为:"+sum);
	}
}
------------------------------------------------------------------------------------------------------------
public class TestQu3{
	public static void main(String [] args){
		int sum =0;
		int i=1;
		do{                             //do-while循环
			sum+=i;
			i++;
		}while(i<=100);
		System.out.println("100以内的和为:"+sum);
	}
}
------------------------------------------------------------------------------------------------------------
public class TestQu3{
	public static void main(String [] args){
		int sum =0;
		int i=1;                           //do-while循环
		do{
			sum+=i;
			i+=2;
		}while(i<=100);
		System.out.println("100以内的奇数和为:"+sum);
	}
}

4、(for 循环)读⼊⼀个⼩于10 的整数n,输出它的阶乘n。

import java.util.Scanner;
public class TestQu4{
	public static void main(String [] args){
		/* 
			(for 循环)读入一个小于于10 的整数n,输出它的阶乘n。
		*/
		//声明Scanner
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个小于10的整数:");
		int num = input.nextInt();
		int result =1;
		for(int i=1;i<=num;i++){
			result*=i;
		}
		System.out.println(num+"的阶乘是:"+result);
	}
}

5、(for 循环)求100 以内所有能被3 整除但不能被5 整除的数字的和。

public class TestQu5{
	public static void main(String [] args){
		int sum=0;
		for(int i=1;i<=100;i++){
			if(i%3==0&&i%5!=0){
				sum+=i;
			}
		}
		System.out.println(sum);
	}
}

6、(for 循环)编程找出四位整数abcd 中满⾜ (ab+cd)(ab+cd)=abcd 的数。

public class TestQu6{
	public static void main(String [] args){
		/* 
			编程找出四位整数abcd 中满 
			(ab+cd)(ab+cd)=abcd 的数。
		*/
		for(int i=1000;i<=9999;i++){
			int ab=i/100;
			int cd =i%100;
			if((ab+cd)*(ab+cd)==i){
				System.out.println("这四位数是"+i);
			}
		}
	}
}

7、(for循环)输出99 乘法表。

public class TestQu7{
	public static void main(String [] args){
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+j*i+"\t");
			}
			System.out.println();
		}
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dUyJ9HuS-1661775538010)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220815202132793.png)]

8、(for循环)计算2000年1⽉1⽇到2008年1⽉1⽇相距多少天。(注意闰年)

public class TestQu8{
	public static void main(String [] args){
		int sum=0;
		int day;
		for(int i=2000;i<2008;i++){
				if((i%4==0&&i%100!=0)||(i%400==0)){
					day=366;
				}else{
					day=365;
				}
				sum=sum+day;
			}
		System.out.println("2000年1月1日到2008年1月1日相距"+sum+"天");
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GbotUKEC-1661775538011)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220815205756259.png)]

9、(循环)*读⼊⼀个整数n,输出如下图形

n = 3                    
  *                        
 ***                           
*****    

n = 4
   *
  ***
 *****
******* 
import java.util.Scanner;
public class TestQu9{
	public static void main(String [] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入要打印的行数:");
		int n = sc.nextInt();
		for(int i = 1; i<=n; i++){
		//输出n-i个空格
			for(int j = 1; j<=n-i; j++){
					System.out.print(" ");
			}
				for(int j = 1; j<=2*i-1; j++){
					System.out.print("*");
				}
				System.out.println();//换行
		}
	}
}

10、(for循环)求⽔仙花数。
提示:所谓⽔仙花数,是指⼀个三位数abc,如果满⾜a³+b³+c³=abc,则abc是⽔仙花数。

public class TestQu10{
	public static void main(String [] args){
		//循环所有的三位数
		for(int i = 100; i<=999; i++){
		//分别获得三个位数上的值
			int a = i / 100;
			int b = i / 10 % 10;
			int c = i % 10;
				//计算各位数字的立方和
			int result = a*a*a + b*b*b + c*c*c;
			if (result == i){
				System.out.println(i);
			}
		}
	}
}

int i = 100; i<=999; i++){
//分别获得三个位数上的值
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
//计算各位数字的立方和
int result = aaa + bbb + ccc;
if (result == i){
System.out.println(i);
}
}
}
}


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9KVOGt1h-1661775538011)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220815211643728.png)] 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值