java学习之路 之 基本语法-程序流程控制-循环结构-嵌套循环练习题

来源:互联网 发布:巫师3正版优化 编辑:程序博客网 时间:2024/05/01 23:06
public class LoopTest7 {// 打印3*2的矩形public static void main(String[] args) {for (int i = 0; i < 3; i++) { // i是循环因子.for (int j = 0; j < 2; j++) {System.out.print("j:" + j + " "); // 内循环体执行6次 = 3 * 2 = 外循环次数*内循环次数}System.out.println(); // 这个语句执行3次, 它直接隶属于外循环}}}class Exer14 {// 打印20*8的矩形public static void main(String[] args) {for (int i = 0; i < 20; i++) {for (int j = 0; j < 8; j++) {System.out.print("*");}System.out.println();}}}class Exer15 {// 打印n*m的矩形public static void main(String[] args) {int n = Integer.parseInt(args[0]);//从命令行参数获取字符串并转换成int型数据int m = Integer.parseInt(args[1]);for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {System.out.print("*");}System.out.println();}}}public class ForTest {//打印n*m的空心矩形public static void main(String[] args) {int n = Integer.parseInt(args[0]);int m = Integer.parseInt(args[1]);for (int i = 0;i < n;i++){if (i == 0 || i == (n-1)) {//打印第一行和最后一行for (int j = 0;j < m;j++){System.out.print("*");}} else {for (int j = 0;j < m;j++) {//打印中间部分if (j == 0 || j == (m-1)){System.out.print("*");}else {System.out.print(" ");}}}System.out.println();}}}public class LoopTest2 {//打印一个三角形public static void main(String[] args) {for (int i = 0; i < 10; i++) {for (int j = 0; j < i; j++) {System.out.print("*");}System.out.println();}}}class LoopTest3 {//打印一个倒三角形public static void main(String[] args) {for (int i = 0; i < 10; i++) {for (int j = 0; j < 9 - i; j++) {System.out.print("*");}System.out.println();}}}class LoopTest4 {//将上面两个三角形叠在起来public static void main(String[] args) {for (int i = 0; i < 10; i++) {for (int j = 0; j < 2 * i + 1; j++) {System.out.print("*");}System.out.println();}for (int i = 0; i < 10; i++) {for (int j = 0; j < 9 - i; j++) {System.out.print("*");}System.out.println();}}}/*打印输出一个底边长度为9的等腰三角形4     *103    ***312   *****521  *******7`30 *********94*/class Exer1 {public static void main(String[] args) {int n = Integer.parseInt(args[0]);for (int i = 0; i < n; i++) {for (int j = 0; j < n - 1 - i; j++) { // 空格System.out.print(" ");}for (int j = 0; j < i * 2 + 1; j++) { // *System.out.print("*");}System.out.println();}}}class LoopTest5 {//判断一个数是否是质数  方法1public static void main(String[] args) {int n = 8; // 判断一个数是否是质数// 质数 : 只能被1和自身整数的数boolean flag = true; // 假定这个数是质数// 只需要在2~n-1中随便找到一个数,能被这个数整除for (int i = 2; i < n; i++) { // 2~8if (n % i == 0) {flag = false;}}if (flag) {System.out.println(n + "是质数");}}}class LoopTest6 {// 打印输出100以内的所有质数   方法1public static void main(String[] args) {for (int j = 2; j < 100; j++) {boolean flag = true; // 假定j是质数// 只需要在2~j-1中随便找到一个数,能被j整除for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于jif (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数flag = false; // 推翻之前的结论}}if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例 System.out.println(j + "是质数");}}}}class Exer2 {public static void main(String[] args) {// 打印100-200之间的所有质数, 并统计个数.int count = 0;for (int i = 100; i < 200; i++) {// 只需要判断i是否是质数boolean flag = true;for (int j = 2; j < i; j++) {if (i % j == 0) {flag = false;}}if (flag) {System.out.println(i + "是质数");count++;}}System.out.println("共有" + count + "个质数");}}class LoopTest8 { // 判断一个数是否是质数 方法2public static void main(String[] args) {int n = 6; // 质数 : 只能被1和自身整数的数boolean flag = true; // 假定这个数是质数// 只需要在2~n-1中随便找到一个数,能被这个数整除for (int i = 2; i < n; i++) { // 2~8if (n % i == 0) {flag = false;break;}}if (flag) {System.out.println(n + "是质数");}}}class LoopTest9 {// 打印输出100以内的5个质数   方法2public static void main(String[] args) {int count = 0;for (int j = 2; j < 100; j++) {boolean flag = true; // 假定j是质数// 只需要在2~j-1中随便找到一个数,能被j整除for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于jif (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数flag = false; // 推翻之前的结论break; // break默认中断的是离它最近的循环}}if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例 System.out.println(j + "是质数");count++;if (count == 5) {break;}}}}}class LoopTest10 {// 打印输出1000-2000以内的1个质数public static void main(String[] args) {for (int j = 1000; j < 2000; j++) {boolean flag = true; // 假定j是质数// 只需要在2~j-1中随便找到一个数,能被j整除for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于jif (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数flag = false; // 推翻之前的结论break; // break默认中断的是离它最近的循环}}if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例 System.out.println(j + "是质数");break;}}}}class LoopTest13 {//打印100以内的质数方法3public static void main(String[] args) {l1 : for (int j = 2; j < 100; j++) {l2 : for (int i = 2; i < j; i++) { if (j % i == 0) { continue l1; // 一旦找到反例, 认为j肯定不质数,没有必须继续本次循环, 直接判断下一个值}}System.out.println(j + "是质数");}}}

3 0
原创粉丝点击