循环结构例题

01:求10以内的偶数的和。

public class Subject01 {

	public static void main(String[] args) {
		//求10以内的偶数的和。
		int i=0;
		int sum=0;
		while(i<=10){
			sum+=i;
			i+=2;
		}
		System.out.println("10以内的偶数和为"+sum);
	}

}

02:求100以内的所有素数。

public class Subject02 {

	public static void main(String[] args) {
		// 求100以内的所有素数
		// (素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)
		for (int x = 2; x <= 100; x++) {
			// 每一个数字都需要有单独的计数器
			int count = 0;//放在循环内确保每次循环前重置
			for (int y = 2; y < x; y++) {// 其他的数字
				if (x % y == 0) {
					count++;
				}
			}
			if (count == 0) {
				System.out.println(x);
			}
		}
	}
}

03:随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。

import java.util.Scanner;

public class Subject03 {

	public static void main(String[] args) {
		/*
		 * 随机产生一个1-100之间的整数,看能几次猜中。
		 * 要求:猜的次数不能超过7次,每次猜完之后都要
		 * 提示“大了”或者“小了”。
		 */
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入你猜到的数字:");
		//获取数据
		int i =sc.nextInt();
		//声明一个变量,用来记录猜测次数
		int j=1;
		//选取随机数
		int num =(int)(Math.random()*99+1);
		while(j<=7){//循环条件
			if(i<num){
				System.out.println("您输入的数字小了");
			}else if(i>num){
				System.out.println("您输入的数字大了");
			}else{
				System.out.println("恭喜您,猜对了");
				break;
			}//循环语句
			j++;//迭代
			if(j==8){
			System.out.println("很遗憾您没有猜出来,这个随机数是"+num);
			}
			System.out.println("请输入你猜到的数字:");
			i=sc.nextInt();		
		}
		System.out.println("程序运行结束");
	}
}

04:写一个方法,此方法实现输出100-999之间的水仙花数。

public class Subject04 {

	public static void main(String[] args) {
		// 写一个方法,此方法实现输出100-999之间的水仙花数
		// a*b*c==a*a*a+b*b*b+c*c*c
		int i = 100;
		while (i <= 999) {
			int a = i % 10;//取个位数
			int b = i / 10 % 10;//取十位数
			int c = i / 100;//取百位数
			if (i == (a * a * a + b * b * b + c * c * c)) {
				System.out.println(i);
			}
			i++;
		}
	}
}

05:输出小写的a-z以及大写的Z—A。

public class Subject05 {

	public static void main(String[] args) {
		// 输出小写的a-z以及大写的Z—A
		char letter1 = 97;
		char letter2 = 65;
		while (letter1 <= 122) {
			System.out.print(letter1);
			letter1++;
		}
		while (letter2 <= 90) {
			System.out.print(letter2);
			letter2++;
		}
	}
}

06:求出1-3+5-7+9-…..101的和。

public class Subject06 {

	public static void main(String[] args) {
		// 求出1-3+5-7+9-…..101的和
		int i = 1;
		int j = 1;
		int sum = 0;
		while (i <= 101) {
			// 通过判断奇偶来判断正负
			if (j % 2 == 0) {
				sum -= i;
			} else {
				sum += i;
			}
			j++;
			i = i + 2;
		}
		System.out.println("1-3+5-7+9-…..101=" + sum);
	}
}

07:求出1-1/2+1/3-1/4…..1/100的和。

public class Subject07 {

	public static void main(String[] args) {
		//求出1-1/2+1/3-1/4…..1/100的和
		int i=1;
		int j=1;
		double sum=0;//确保可以输出小数
		while(i<=100){
			if(j%2==0){
				sum-=(1.0/i);//确保可以输出小数
			}else{
				sum+=(1.0/i);		
			}
			i++;
			j++;
		}
		System.out.println("1-1/2+1/3-1/4…..1/100="+sum);
	}

}

08:输出20-80之间能被3整除的整数,每5个一行

public class Subject08 {

	public static void main(String[] args) {
		// 输出20-80之间能被3整除的整数,每5个一行
		int i = 20;
		int j = 0;
		while (i <= 80) {
			if (i % 3 == 0) {
				System.out.print(i + "  ");
				j++;
			}
			i++;
			if (j == 5) {// 定义一个范围,确保可以换行
				System.out.println();
				j = 0;// 重置
			}
		}

	}

}

09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

public class Subject09 {

	public static void main(String[] args) {
		// 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
		int i = 1000;
		int j = 0;
		while (i <= 2000) {
			if ((i % 4 == 0 && i % 100 != 0) | (i % 400 == 0)) {
				System.out.print(i + " ");
				j++;
			}
			i++;
			if (j == 4) {
				System.out.println();
				j = 0;
			}
		}

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值