循环结构

while循环

特征:先判断后执行。最少执行0次,最多无限次。
最佳实践:循环次数未知的情况下使用。

public class Demo01 {
	public static void main(String[] args) {
		int i = 1;
		while (i <= 100) {
			System.out.println("第"+ i++ +"遍,好好学习");
		}
	}
}

do while 循环

特征:先执行后判断。最少执行一次,最多执行无限次。
最佳实践:循环次数不确定的情况下使用。

public class Demo02 {
	public static void main(String[] args) {
		int i = 1;
		do {
			System.out.println("第"+ i++ +"遍,好好学习");
		} while (i <= 100);
	}
}

for循环

特征:最少执行0次,最多执行无限次。
最佳实践:已知循环次数的情况下可以使用。

public class Demo03 {
	public static void main(String[] args) {
		//四部分:1.声明变量并
		for (int i = 1; i <= 100; i++) {
			System.out.println("第"+ i +"遍,好好学习");
		}
	}
}

break 和 continue

break:跳出本层循环
continue:跳过本次循环

package org.jgs1904;

import java.util.Scanner;

/**
 * 武器强化小游戏
 * 
 * @author Renyw
 * @date 2019年11月11日
 */
public class Work04 {
	public static void main(String[] args) {
		System.out.println("********************************");
		System.out.println("*********武器强化小游戏*********");
		System.out.println("********************************");
		Scanner input = new Scanner(System.in);
		System.out.println("请输入武器名称:");
		String name = input.next();
//		System.out.println("请输入当前武器等级:");
//		int grade = input.nextInt();
		int grade = 1;
		double randomNum = Math.random();
		flag1:
		while (true) {
			double rate = 1.0 / grade;
			System.out.println("当前强化概率:"+ (int)(rate * 10000) / 100.0 + "%");
			System.out.println("请选择:1.开始强化    0.结束游戏");
			int num = input.nextInt();
			switch (num) {
			case 1:
				if (randomNum < rate) {
					System.out.println("强化成功," + name + "当前等级"+ ++grade);
				}else {
					System.out.println("强化失败," + name + "当前等级"+ --grade);
				}
				break;
			case 0:
				System.out.println("游戏已结束!");
				break flag1;

			default:
				System.out.println("输入错误!");
				continue;
			}

		}
		input.close();
	}
	
}
package org.jgs1904;
/**
 * 鸡兔同笼
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work05 {
	public static void main(String[] args) {
		//35head 94foot
		int head = 35;
		int foot = 94;
		int chick = 35;
		int rabbit = 35;
		for (int i = 0; i <= chick; i++) {
			for (int j = 0; j <= rabbit; j++) {
				if (i + j == head && i * 2 + j * 4 == foot) {
					System.out.println("鸡:"+i);
					System.out.println("兔:"+j);
				}
			}
		}
		
	}
}

package org.jgs1904;


/**
 * 水仙花数
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work06 {
	public static void main(String[] args) {
		for (int num = 100; num < 1000; num++) {
			int a = num % 10; 
			int b = num / 10 % 10;
			int c = num / 100;
			if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == num) {
				System.out.println(num);
			}
		}	
	}
}

package org.jgs1904;
/**
 * 闰年
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work08 {
	public static void main(String[] args) {
		//闰年:能被4整除,但不能被100整除  或者能被400整除
		for (int year = 1980; year < 2020; year++) {
			if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
				System.out.println(year);
			}
		}
	}
}
package org.jgs1904;

import java.util.Scanner;

/**
 * 筛子猜点
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work09 {
	public static void main(String[] args) {
		System.out.println("--------游戏开始-----------");
		System.out.println("游戏规则:1-10点为小   11-18点为大 ");
		Scanner input = new Scanner(System.in);
		int gold = 1000;
		while (gold <= 3000 && gold > 0) {
			System.out.println("请选择:大      or  小:");
			String res = input.next();
			if (!res.equals("大") && !res.equals("小")) {
				System.out.println("输入错误,请重新输入");
				continue;
			}
			int grid1 = (int) (Math.random() * 6 + 1);
			int grid2 = (int) (Math.random() * 6 + 1);
			int grid3 = (int) (Math.random() * 6 + 1);
			int grid = grid1 + grid2 + grid3;
			System.out.println("请选择下注金额:");
			int wager = input.nextInt();
			if (wager > gold) {
				System.out.println("请重新输入");
				continue;
			}
			System.out.println("本轮点数为:" + grid1 + "," + grid2 + "," + grid3);
			System.out.println("点数之和为:" + grid + "," + (grid <= 10 ? "大" : "小"));
			String choose = grid <= 10 ? "大" : "小";
			if (choose.equals(res)) {
				System.out.println("猜对了");
				gold += wager;
			}else {
				System.out.println("猜错了");
				gold -= wager;
			}
			System.out.println("当前金币为:" + gold);
		}
		if (gold <= 0) {
			System.out.println("failed");
		} else {
			System.out.println("succeed");
		}
		input.close();

	}
}

package org.jgs1904;
/**
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work10 {
	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 + "=" + i * j + "\t");
			}
			System.out.println();
		}
	}
}
package org.jgs1904;

import java.util.Scanner;

/**
 * 兔子
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work11 {
	//1 2 3 4 5 
	//1 1 2 3 5 
	//a[n] = a[n-1] + a[n-2]
	int calcu(int n) {
		if (n == 1 || n == 2) {
			return 1;
		}else {
			return calcu(n - 1) + calcu(n - 2);
		}
	}
	
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		System.out.println("请输入月数:");
		int month = input.nextInt();
		input.close();
		
//		if (month <= 0 || month > 12) { }
		 
		Work11 wo = new Work11();
		int num = wo.calcu(month);
		System.out.println(num);
	}
	
}

package org.jgs1904;

import java.util.Scanner;

/**
 * 获得啤酒数
 * 2元一瓶     2空瓶换一瓶    4瓶盖换一瓶
 * 
 * @author Renyw
 * @date 2019年11月12日
 */
public class Work12 {
	
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		System.out.println("请输入金额:");
		int money = input.nextInt();
		input.close();
		//购买的啤酒数
		int count = money /2;
		//瓶盖数
		int cap = count;
		//空瓶数
		int bottle = count;
		while (cap >= 4 || bottle >= 2) {
			//兑换的数量
			int temp = cap / 4 + bottle / 2;
			//总数量=购买的+兑换的
			count += temp;
			//收集剩余的 以及刚兑换的瓶盖和空瓶
			cap = cap % 4 + temp;
			bottle = bottle % 2 + temp;
		}
		System.out.println(count);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值