for循环练习题

本文通过Java代码示例介绍了如何遍历100以内的偶数,输出它们的和与个数,同时展示了在循环中如何处理特定倍数的数值。此外,还讲解了求解两个正整数的最大公约数和最小公倍数的方法,以及通过循环计算100以内奇数的和、7的倍数的个数与总和,以及找到水仙花数。这些例子深入浅出地展现了循环、条件判断和算法在编程中的应用。
摘要由CSDN通过智能技术生成

1.例题:遍历100以内的偶数,输出所有偶数的和,及偶数的个数

class ForTest{
	public static void main(String[] args){
		
		//i:在for循环内有效。出了for循环就失效了
		//原因:i是在for循环中定义的,只在for循环中有效
		//System.out.println("i="+i);
		//练习
		int num = 1;
		for(System.out.print('a');num<=3;System.out.print('c'),num++){
			System.out.print('b');
		}//输出结果:abcbcbc
     
//num定义在for循环之外,任然在for循环中有效,在整个class类中也有效                               
		System.out.println("num="+num);
		
		//例题:遍历100以内的偶数,输出所有偶数的和
		int sum = 0;//记录偶数的和

		int count = 0;//记录偶数的个数

		System.out.println("遍历100以内的偶数");

		for(int i = 1;i<=100;i++){
			if(i%2==0){

                switch(i/10){//将偶数分为两行
				case 0:
				case 1:
				case 2:
				case 3:
				case 4:
				case 5:
                if(i==50){
					System.out.print('\n');//当i==50时换下一行
				}
				case 6:
				case 7:
				case 8:
				case 9:
				case 10:
				System.out.print(i+" ");
				if(i==100){
					System.out.print('\n');
				}
				break;
				}

                count++;//记录偶数个数
				sum += i;//记录偶数的和
				
			}
			
		}
		System.out.println("所有偶数的和为:"+sum);
		System.out.println("记录偶数的个数:"+count);
		
		
		/*        给偶数分成5行
				if(i<=20){//前20个数
					if(i<20){
						System.out.print(i+",");
					}else{
						System.out.println(i);
					}
				}else if(i<=40){//20-40
					if(i<40){
						System.out.print(i+",");
					}else{
						System.out.println(i);
					}
				}else if(i<=60){//40-60
					if(i<60){
						System.out.print(i+",");
					}else{
						System.out.println(i);
					}
				}else if(i<=80){//60-80
					if(i<80){
						System.out.print(i+",");
					}else{
						System.out.println(i);
					}
				}else if(i<=100){//80-100
					if(i<100){
						System.out.print(i+",");
					}else{
						System.out.println(i);
					}
				}*/
		
		
		
		
		
	}
}

2.编写程序从1循环到150,并在每行打印一个值,
另外在每个3的倍数行上打印出“foo”,
在每个5的倍数行上打印“biz”,
在每个7的倍数行上打印输出“baz”

class ForTest1{
	public static void main(String[] args){
		for(int i=1;i<=150;i++){
			System.out.print(i+" ");
            
            //if结构并列都执行
			if(i%3==0){
				System.out.print("foo"+" ");
			}
			if(i%5==0){
				System.out.print("biz"+" ");
			}
			if(i%7==0){
				System.out.print("baz"+" ");
			}
			System.out.println();
             
            //if-else多选一
            /* if(i%3==0){
				  if(i%5==0&&i%7==0){
					 System.out.print(i+" ");
					 System.out.println("foo"+" "+"biz"+" "+"baz");
				  }else if(i%5==0){
					 System.out.print(i+" ");
					 System.out.println("foo"+" "+"biz"); 
				  }else if(i%7==0){
					  System.out.print(i+" ");
					  System.out.println("foo"+" "+"baz"); 
				  }else {
					  System.out.print(i+" ");
					  System.out.println("foo"); 
				  }
			  }else if(i%5==0){
				  if(i%7==0){
					  System.out.print(i+" ");
					  System.out.println("biz"+" "+"baz"); 
				  }else {
					  System.out.print(i+" ");
					  System.out.println("biz"); 
				  }
			  }else if(i%7==0){
					System.out.print(i+" ");
					System.out.println("baz"); 
			  }else {
				  System.out.println(i);
			  }*/
			
			
		}
	}
}

3.题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
比如:12和20的最大公约数是4,最小公倍数是60。
说明:break关键字的使用

import java.util.Scanner;
class ForTest{
	public static void main(String[] args){
		
		Scanner scan = new Scanner(System.in);
		
		System.out.print("请输入第一个正整数:");
		int m = scan.nextInt();
		
		System.out.print("请输入第二个正整数:");
		int n = scan.nextInt();
		
		
		//获取最大公约数:公约数一定比最小值要小,且会被两个整除
		//1.获取两个数中的最小值
		int min = (m<=n)? m:n;
		//2.遍历
		for(int i = min;i>=1;i--){
			if(m%i==0&&n%i==0){
				System.out.println("最大公约数为:"+i);
				break;//一旦在循环中执行到break1则跳出循环
			}
		}
		
		//获取最小公倍数:公倍数一定比最大值要大,一般最小公倍数不会超过两数的乘积
		//1.获取两个数中的的最大值
		int max = (m>=n)? m:n;
		//遍历
		for(int i = max;i<=m*n;i++){
			if(i%n==0&&i%m==0){
				System.out.println("最小公倍数:"+i);
				break;
			}
		}
	}
}

 4.练习

1. 打印 1~100 之间所有奇数的和
2. 打印 1~100 之间所有是 7 的倍数的整数的个数及总和(体会设置计数
器的思想)
3. 输出所有的水仙花数,所谓水仙花数是指一个 3 位数,其各个位上数
字立方和等于其本身。
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
        int sun=0; 
		for(int i=1;i<=100;i++){
			sun+=i;	
			}
		System.out.println("100以内的和为:"+sun);
		/*
			打印1~100之间所有奇数的和
		*/
		int sum = 0;//奇数和
		for(int i=1;i<=100;i++){
			if(i%2 != 0){
				System.out.print(i+" ");
				sum += i;
				
			}
		}
		System.out.println("奇数的和为:"+sum);
		
		
		//打印1~100之间所有7的倍数的整数的个数及总和
		int sum2=0;
		int count=0;
		for(int i=1;i<=100;i++){
			if(i%7==0){
				 sum2 +=i;
				count++;
				
			}
		}
		System.out.println("7的倍数的个数为:"+count+"  "+"7的倍数总合是:"+sum2);
	
	
		/*
		输出所有的水仙花数,所谓水仙花数是指一个3位数,
		其各个位上数字立方和等于其本身。
		例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
		*/
		int bw=0;//百位数
		int sw=0;//十位数
		int gw=0;//个位数
		for(int i=100;i<1000;i++){
			bw=i/100;
			sw=i/10%10;//或i%100/10;
			gw=i%10;
			if(bw*bw*bw+sw*sw*sw+gw*gw*gw==i){
				System.out.println("水仙花数是:"+i);
			}
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值