5.多重循环和debug

多重循环和debug

例题1:打印99乘法表

	public static void main(String[] args) {
		
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(i + "*" + j + "=" + (i * j) + "\t");
			}
			System.out.println();
		}
		
	}

break语句

1.在switch…case…中使用:结束一个case代码块,如果不写会出现case贯穿问题。

2.用在循环当中:break跳出本层循环

continue语句

1.用在循环中:立即结束本次循环,并开始下次循环

return语句

1.用在方法任意位置:

格式一:return 数据或者变量; 表示返回方法的返回值

格式二:return; 表示结束整个方法

debug:

bug:漏洞

debug:程序调试

  1. 作用:方便程序员看到程序执行的每个步骤的结果(单步调试)
  2. 步骤:
    1. 断点:程序执行到此处会停止(双击该行行数添加断点)
    2. 执行debug:右键 -> debug as -> java application
    3. F6单步执行:从断点处开始一行代码一行代码执行

例题2:打印出所有的水仙花数

public static void main(String[] args) {
		
		
		for (int i = 100; i <= 999; i++) {
			int a = i % 10;
			int b = i / 10 % 10;
			int c = i / 100;
			if (a * a * a + b * b * b + c * c * c == i) {
				System.out.println(i);
			}
		}
		
		
	}

例题3:用户输入1~7,控制台输出星期一 ~ 星期日

1.用户输入1~7,控制台输出星期一 ~ 星期日

2.用户输入0退出系统

3.用户输出其他数字,提示重新输入

public class Work02 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		while (true) {
			System.out.println("请输入数字1~7(输入0退出):");
			int num = sc.nextInt();
			switch (num) {
				case 0:
					System.out.println("退出系统");
					sc.close();
					return;
				case 1:
					System.out.println("星期一");
					break;
				case 2:
					System.out.println("星期二");
					break;
				case 3:
					System.out.println("星期三");
					break;
				case 4:
					System.out.println("星期四");
					break;
				case 5:
					System.out.println("星期五");
					break;
				case 6:
					System.out.println("星期六");
					break;
				case 7:
					System.out.println("星期日");
					break;
				default:
					System.out.println("输入不合法,请重新输入:");
					break;
			}
		}
		
	}
	
}

作业1

输入三个整数x,y,z,请把这三个数由小到大输出。

public static void main(String[] args) {
		System.out.println("请输入三个整数:");

		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt(); 
		int y = sc.nextInt();
		int z = sc.nextInt();
		
		if(x > y) {
			x = x + y;
			y = x - y;
			x = x - y;
		}
		
		if(y > z) {
			y = y + z;
			z = y - z;
			y = y - z;
		}
		
		if(x > z) {
			x = x + z;
			z = x - z;
			x = x - z;
		}
		
		System.out.println(x + " "+ y + " " + z);
		
		
	}

作业2

输入两个正整数m和n,求其最大公约数和最小公倍数。

public static void main(String[] args) {
		System.out.println("请输入两个正整数:");

		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt(); 
		int n = sc.nextInt();
		
		
		
		
		//最大公约数
		int max = 1;
		for (int i = 1; i < (m > n ? m : n); i++) {
			if(m % i == 0 && n % i == 0) {
				max = i;
			}
			
		}
		System.out.println("最大公约数为:" + max);
		
		
		
		// 最小公倍数
		int min = m * n;
		for (int i = m * n; i >= (m > n ? m : n); i--) {
			if (i % m == 0 && i % n == 0) {
				min = i;
			}
		}
		System.out.println("最小公倍数为:" + min);
		
		
	}

作业3

有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输出。

public static void main(String[] args) {
		for (int i = 1; i <= 4; i++) {
			for (int j = 1; j <= 4; j++) {
				for (int k = 1; k <= 4; k++) {
					if (i != j && i != k && j != k) {
						System.out.println("" + i + j + k);
					}
				}
			}
		}
	}

作业4

喝啤酒:2块一瓶,2空瓶换一瓶,4瓶盖换一瓶,10块钱喝几瓶?

public static void main(String[] args) {
		int num = 0;
		num = 10 / 2;
		for (int i = 1; i < num; i++) {
			if (i % 2 == 0) {
				num ++;
			}
			if (i % 4 == 0) {
				num ++;
			}
		}
		System.out.println("10块钱喝" + num + "瓶");
	}

作业5

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

public static void main(String[] args) {
		int sum = 1;
		while (true) {
			int count = sum;
			// 吃桃
			for (int i = 1; i <= 9; i++) {
				count = count / 2 - 1;
			}
			// 第十天还剩一个桃
			if (count == 1) {
				break;
			}
			sum++;
		}
		
		System.out.println(sum);
		}

你可能感兴趣的:(javanote,java)