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
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是一些关于Java do-while循环练习题: 1. 编写一个程序,使用do-while循环,从1数到10,将每个数字输出到屏幕上。 2. 编写一个程序,使用do-while循环,从10数到1,将每个数字输出到屏幕上。 3. 编写一个程序,使用do-while循环,求1到10的和,并将结果输出到屏幕上。 4. 编写一个程序,使用do-while循环,输入一个正整数n,然后求1到n的和,并将结果输出到屏幕上。 5. 编写一个程序,使用do-while循环,输入一组数字,直到输入0为止,然后将输入的数字求和并输出结果到屏幕上。 希望这些练习题能够帮助您巩固和提高对Java do-while循环的理解和应用能力。 ### 回答2: Java中的do-while循环是一种循环语句,与while循环类似,但是它会先执行循环体中的代码,然后根据循环条件来判断是否继续循环。 下面是几个do-while循环练习题: 1.请编写一个程序,使用do-while循环计算并输出10以内的所有整数的和。 2.请编写一个程序,使用do-while循环输出一个整数的所有因子。 例如,如果输入的数字是10,则应该输出1、2、5、10。 3.请编写一个程序,使用do-while循环从键盘读取输入,直到用户输入的数为5。 程序应该在每次循环中输出“请输入一个数字:”,并等待用户输入。 4.请编写一个程序,使用do-while循环从键盘读取输入,直到用户输入的值为-1。 程序应该在每次循环中输出“请输入一个数字:”,并等待用户输入。 然后,程序应该计算所有输入数字的和,并输出结果。如果用户一开始就输入-1,则输出0作为结果。 5.请编写一个程序,使用do-while循环来实现斐波那契数列的生成。 斐波那契数列是这样一组数列:1、1、2、3、5、8、13、21、34、……, 其中每个数都是前两个数的和。程序应该在每次循环中输出当前斐波那契数列的值,并等待一段时间后继续循环。 这些练习题可以帮助我们加深对于do-while循环的理解和掌握,在实践中掌握Java编程的基本技能,为我们以后的开发工作打下坚实的基础。 ### 回答3: Java的do-while循环是一种比较常用的循环方式,它对于需要先执行一次循环体的场景非常有用。本文将介绍一些do-while循环练习题,协助读者更好的理解和掌握这种循环方式。 1、用do-while循环语句计算1到100的整数和。 首先,要计算1到100之间的所有整数和,需要定义一个整型变量sum,初始值为0。接着,使用do-while循环从1开始加,每次循环都将变量i加1,并将此时的i值加到sum中。执行完100次循环后,输出sum的值即为1到100的整数和。 代码示例: ``` int sum = 0; int i = 1; do { sum += i; i++; } while (i <= 100); System.out.println("1到100之间的整数和为:" + sum); ``` 2、利用do-while循环语句计算输入的数的阶乘。 阶乘是指从1到该数之间所有整数的乘积,如5的阶乘为5×4×3×2×1=120。为了计算n的阶乘,需要使用do-while循环从1开始乘,每次循环都将乘积结果乘以i,直到i等于n为止。执行完循环后,输出最终结果即为n的阶乘。 代码示例: ``` Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数n:"); int n = scanner.nextInt(); int i = 1; int fact = 1; do { fact *= i; i++; } while (i <= n); System.out.println(n + "的阶乘为:" + fact); ``` 3、通过do-while循环语句输出9×9乘法表。 乘法表是一个比较常见的练习题,它可以检验循环嵌套和循环控制语句的熟练程度。利用do-while循环输出9×9乘法表,首先需要定义两个循环变量i和j,i表示被乘数,j表示乘数。每一行输出从1到9的乘积,直到i等于9为止,循环结束。 代码示例: ``` int i = 1; do { int j = 1; do { System.out.print(j + "×" + i + "=" + i*j + " "); j++; } while (j <= i); System.out.println(); i++; } while (i <= 9); ``` 以上就是几个利用do-while循环解决的Java编程练习题,希望对读者有所帮助。在实际编程中,需要根据不同的场景灵活运用循环语句,以提高编程效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值