Java for循环(二)
练习1、打印出四位数字中“个位+百位”等于“十位+千位”并且个位数为偶数,千位数为奇数的数字,并打印符合条件的数字的个数。
public static void printSpaicalNum() { int cnt = 0; for (int i = 1000; i < 10000; i++) { int qw = i / 1000; int bw = i / 100 % 10; int sw = i % 1000 / 10 % 10; int gw = i % 1000 % 100 % 10; if ((gw + bw) == (sw + qw) && gw % 2 == 0 && qw % 2 == 1) { System.out.print(i + "\t"); cnt++; } } System.out.println("\n特殊字符数为 " + cnt); }
练习2、结合break的使用 说明:输入两个正整数m和n,求其最大公约数和最小公倍数。比如:12和20的最大公约数是4,最小公倍数是60。
public static void maxPubNum() { int m = 12, n = 20; //取最小值 int min = Math.min(m, n); for (int i = min; i >= 1; i--) { if (m % i == 0 && n % i == 0) { System.out.println("最大公约数 " + i); break; //return; } } } public static void minPubNum() { int m = 12, n = 20; //取最小值 int max = Math.max(m, n); for (int i = max; i < m*n; i++) { if (i % m == 0 && i % n == 0) { System.out.println("最小公倍数 " + i); break; //return; } } }
练习3、打印1~100之间所有奇数的和
/** * 1~100 的奇数和 */ public static void singleNumSum() { int sum = 0; for (int i = 0; i < 100; i++) { if (i % 2 == 1) { sum += i; } } System.out.println("1~100 的奇数和是 " + sum); }
练习4、打印1~100之间所有是7的倍数的整数的个数及总和(体会设置计数器的思想)
/** * 1~100 被7整数的和以及个数 */ public static void singl7eNumSum() { int sum = 0, cnt = 0; for (int i = 0; i < 100; i++) { if (i % 7 == 1) { sum += i; cnt++; } } System.out.println("1~100有 " + cnt + " 个整数被7整数,他们的和是 " + sum); }
练习5、编写程序从1循环到99,并在每行打印一个值,另外在每个3的倍数行上打印出“三人行,大家一起学习呀”,在每个6的倍数行上打印“666”,在每个8的倍数行上打印输出“一起发”。
public static void printNum() { for (int i = 0; i < 99; i++) { System.out.print(i + "\t"); if (i % 3 == 0) { System.out.print("三人行,大家一起学习呀\t"); } if (i % 6 == 0) { System.out.print("666\t"); } if (i % 8 == 0) { System.out.print("一起发\t"); } System.out.println(); } }