java while循环例题

1.求整数1~100的累加值,但要求跳过所有个位数为3的数

public class MyDemo013 {

	public static void main(String [] args) {
		int i = 1;
		int sum =0;
		while( i<= 100 ) {
			if( i!=3 && i < 10 ) {
				sum += i;
			}else if( i >= 10 && i < 100 && i%10!=3 ){
				sum +=i;
			}else if( i%100%10 != 3 ) {
				sum +=i;
			}
			i++;
		}
		System.out.println(sum);
	}
}

2.

/** 计算1*2+3*4........+99*100 **/
public class MyDemo014 {
	public static void main(String [] args) {
		//保存最终结果
		int res = 0;
		//记录前一个数
		int num1 = 0;
		int i=1;
		while( i <= 100) {
			//判断奇偶数 奇数就记录 偶数就乘
			if ( i%2 == 0 ) {
				res=res+num1*i;
			}else{
				num1=i;
			}
			i++;
		}
		System.out.println(res);
	}
}

3.

/** s=100-96+92-88+......+4-0 **/
public class MyDemo015 {

	public static void main(String [] args) {
		int i=100;
		int s = 0;
		while( i >=0 ) {
			s+=i-(i-4);
			i-=8;
		}
		System.out.println(s);
	}
}

或者

public class MyDemo015 {

	public static void main(String [] args) {
		int i=100;
		int flag = -1;
		int s = 0;
                 while( i >=0 ) {
			flag = flag*-1;
			i=i-4;
                        s+= i*flag;
		}
		System.out.println(s);
	}
}

4.

/** 0.005米厚的纸,折叠多少次超过8844米 **/
public class MyDemo016 {

	public static void main(String [] args) {
		double ph = 0.0005;
		int cnt = 0;
		while( ph <= 8844 ) {
			cnt++;
			ph=ph*2;
		}
		System.out.println(cnt);
	}
}

5.



/** 1 1 2 3 5第三个数为前两个数的和 **/
public class MyDemo017 {

	public static void main(String [] args) {
		int num1 = 0;
		int num2 = 1;
		System.out.println(num2+"\t");
		int xh = 1;
		while( xh < 30 ) {
			int num3 = num1+num2;
			System.out.println(num3+"\t");
			num1 = num2;
			num2 = num3;
			xh++;
			
		}
	}
}

6.鸡兔同笼问题

/** 鸡和兔共十只,脚32只,求鸡和兔各多少只 **/
public class MyDemo018 {

	public static void main(String [] args) {
		//定义鸡的数量
		int num1 = 1;
		//定义兔的数量
		int num2 = 1;
		//循环求鸡和兔的数量
		
		//循环鸡的数量
		while( num1 <= 10 ) {
			//循环兔的数量
			num2 = 1;
			while( num2 <= 10) {
				if( (num1*2 + num2*4) == 32 && num1+num2 == 10) {
					System.out.println("鸡:"+num1+"兔:"+num2);
				}
				num2++;
			}
			num1++;
		}
	}
}

7.

/** 1+(1+2)+(1+2+3)+....+(1+2+3+...+20) **/
public class MyDemo019 {

	public static void main(String [] args) {
		int i = 1;
		int sum = 0;
		int result = 0;
		
		while( i<= 20 ) {
			sum = sum+i;
			result += sum;
			i++;
		}
		System.out.println(result);
	}
}

8.

/** s=1!+2!+3!+...+10! **/
public class MyDemo020 {

	public static void main(String [] args) {
		int i = 1;
		int sum = 1;
		int result = 0;
		
		while( i<= 10 ) {
			sum = sum*i;
			result += sum;
			i++;
		}
		System.out.println(result);
	}
}

9.猴子吃桃子,第一天吃掉一半多一个,第二天吃掉剩下的一半多一个,天天如此,到第九天一看只剩下一个,问原来有多少桃子?

public class MyDemo021 {

	public static void main(String [] args) {
		int num1 = 1;         
		int count = 1;
		
		while( count <= 8 ) {
			num1 = (num1+1)*2;
			count++;
		}
		System.out.println(num1);
	}
}

10.用100元买100只鸡,大公鸡5元一只,母鸡3元1只,小鸡一元3只,问各能买多少只?

public class MyDemo022 {

	public static void main(String [] args) {
		//求公鸡、母鸡、小鸡各自的数量
		int x = 1,y = 1,z = 3;
		//5x+3y+z/3=100;
		//x+y+z=100;
		while( x < 20 ) {
			y = 1;
			while( y < 33 ) {
				z=3;
				while( z < 100 ) {
					if((5*x+3*y+z/3 == 100) && x+y+z == 100) {
						System.out.println("公鸡的数量:"+x+" 母鸡的数量:"+y+" 小鸡的数量:"+z);
					}
					z+=3;
				}
				y++;
			}
			x++;
		}
	}
}

 

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的while循环是一种重复执行代码块的结构,只要指定的条件为真,就会一直执行循环体内的代码。while循环的语法格式为:while (condition) { // 循环体 },其中condition是一个布尔表达式,如果为true,则执行循环体内的代码,否则跳过循环体。在循环体内,可以使用break语句来跳出循环,也可以使用continue语句来跳过当前循环,进入下一次循环。while循环的使用场景非常广泛,例如可以用来实现猜数字游戏、计算平均数等功能。 下面是两个使用while循环Java程序示例: 1. 猜数字游戏 import java.util.Scanner; public class GuessNumber { public static void main(String[] args) { Scanner in = new Scanner(System.in); int number = (int) (Math.random() * 100); int guess = 0; int count = 0; System.out.println("猜一个1到100的整数"); while (true) { guess = in.nextInt(); if (number < guess) { System.out.println("大了"); count++; } else if (number > guess) { System.out.println("小了"); count++; } else { count++; break; } } System.out.println("这个数字是" + number + ",您猜的次数是" + count); } } 2. 计算平均数 import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner in = new Scanner(System.in); int count = 0; int number = 0; int sum = 0; System.out.println("请输入一些数字,以-1结束"); while (true) { number = in.nextInt(); if (number == -1) { break; } sum += number; count++; } System.out.println("平均数为" + (double) (sum / count)); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值