目录

打印三角

打印九九乘法表

100以内的所有质数

质数输出问题的优化


在JAVA中,如何跳出当前的多重嵌套循环?

答:用break或return 的方式。

1.输出:以下图形:
        ******
        ******
        ******
        ******

        for(int j =1;j<=4;j++){for(int i=1;i<=6;i++){System.out.print('*');}System.out.println();}

2.     打印三角:

*            
        **           
        ***            
        ****        
        *****        
        ******

        /*           i(行数)  j(*的个数)*         1        1**            2        2***           3        3****      4        4*****     5        5******        6        6*/for(int i=1;i<=6;i++){//控制行数for(int j=1;j<=i;j++){//控制每一行有几个星:控制列数System.out.print("*");}System.out.println();}

3. 
        ******           
        *****        
        ****        
        ***            
        **         
        *

        /*           i(行数)  j(*的个数)******        1        6            规律:i+j = 7换句话数:j=7-i;        *****       2        5****      3        4  ***         4        3**            5        2*         6        1*//*for(int i=1;i<=6;i++){//控制行数for(int j=6;j>=i;j--){//控制每一行有几个星:控制列数System.out.print("*");}System.out.println();}*/for(int i=1;i<=6;i++){//控制行数for(int j=1;j<= 7-i;j++){//控制每一行有几个星:控制列数System.out.print("*");}System.out.println();}

4.     *
        **
        ***
        ****
        *****
        ******
        *****
        ****
        ***
        **
        *

        /*************************************这个需要两个不同的嵌套循环,一个增加,一个减少,一个正三角加一个倒三角在开发中嵌套循环最多三层,一般常见的是两层,三层也不会多见,编写代码时需要注意;嵌套太多容易混乱,也证明编写有问题,最好不要。如下边代码所示:*///正三角for(int i=1;i<=6;i++){//控制行数for(int j=1;j<=i;j++){//控制每一行有几个星:控制列数System.out.print("*");}System.out.println();}//倒三角for(int i=1;i<=5;i++){//控制行数for(int j=1;j<= 6-i;j++){//控制每一行有几个星:控制列数System.out.print("*");}System.out.println();}

5.       * 
         * * 
        * * * 
       * * * * 
      * * * * * 
       * * * * 
        * * * 
         * * 
          *

/*        图1                                  图2*                                 ----* * *                                ---* * * * *                               --* * *    ---->上半部分:两个三角* * * *                              -* * * * * * * * * ------转变图形为:图2------> * * * * ** * * *                              * * *                               -* * * *    ------>下半部分:两个三角* *                                --* * **                                 ---* *----**///上半部分for(int i=1;i<=5;i++){for(int j=1;j<=5-i;j++){System.out.print(" ");//System.out.print("-");}for(int z=1;z<=i;z++){System.out.print("*"+" ");}System.out.println();}//下半部分for(int i = 1;i <= 4;i++){for(int j = 1;j <= i;j++){System.out.print(" ");//System.out.print("-");}for(int z = 1;z <= 5-i;z++){System.out.print("*"+" ");}System.out.println();}

6.打印九九乘法表

/*
嵌套循环的应用1:九九乘法表
1*1=1
2*1=2  2*2=4
3*1=3  3*2=6  3*3=9
4*1=4  4*2=8  4*3=12  4*4=16
5*1=5  5*2=10  5*3=15  5*4=20  5*5=25
6*1=6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
7*1=7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
8*1=8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
9*1=9  9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81*/class NineNineTable{public static void main(String[] args){int sum=0;for(int i = 1;i<=9;i++){for(int j=1;j<=i;j++){sum = i*j;System.out.print(i+"*"+j+"="+sum +" ");//System.out.print(i+"*"+j+"="+i*j+" ");}System.out.println();}}
}

7.

100以内的所有质数

质数:素数,只能被1和它本身整除的自然数。----->从2开始,到这个数-1结束为止,都不能被这个数本身整除

如:一个数n  ---->n能被1整除 从2,3,4,.... n-1,都不能被整除,最后n他自己可以被整除

最小的质数是:2

/*
100以内的所有质数
质数:素数,只能被1和它本身整除的自然数。----->从2开始,到这个数-1结束为止,都不能被这个数本身整除如:一个数n  ---->n能被1整除 从2,3,4,.... n-1,都不能被整除,最后n他自己可以被整除最小的质数是:2*/class PrimeNumberTest{public static void main(String[] args){for(int i=2;i <= 100;i++){//遍历100以内的自然数boolean isFlag = true;//标识i能否被j除尽,一旦除尽,修改其值;同时重置isFlag的值for(int j=2;j<i;j++){//j:被i去除/*解析:>if语句时,每一次循环只会输出符合条件的执行语句,每一次循环i都会和每一个j进行            一次运算;>if-else增加了一个选择,每次循环时,else也会执行一次,当满足一次else时,会结束循环,往后的j将不会在与i进行计算;例如 9:它会被认为是质数,这是不对的,程序只对于2进行了计算,输出的是不会被2整            除的数,更像是在计算奇数>所以,if语句可以在循环中每一个j都会与i进行取模运算,只要出现一个能够被除尽的j,那么他会执行isFlag = false语句进行标记,也意味着这个i不是质数不会进行最后的输出*/if(i%j==0){//i被j除尽,isFlag = false;break;}}if(isFlag==true){System.out.print(i+" ");}}}
}

8.质数输出问题的优化

如何计算程序运行所花费的时间?

需要使用:System.currentTimeMillis() :这个方法代表获取当前时间距离1970-01-01 00:00:00 的毫秒数

位于API文档:System class下: currentTimeMillis()方法是 long类型的

程序运行时间需要在程序运行首尾都运行该语句,并得出初始时间值和结束时的时间值,二者相见得出程序运行的时间

long start = System.currentTimeMillis();//开始时间

long end = System.currentTimeMillis();//结束时间

System.out.println("程序运行所花费的时间:"+(end - start));

不同的算法对于程序运行的时间有较大差距:

/*
100以内的所有质数
质数:素数,只能被1和它本身整除的自然数。----->从2开始,到这个数-1结束为止,都不能被这个数本身整除如:一个数n  ---->n能被1整除 从2,3,4,.... n-1,都不能被整除,最后n他自己可以被整除对PrimeNumberTest。java文件中质数输出问题的优化*/class PrimeNumberTest1{public static void main(String[] args){int count = 0;//10万以内的质数个数//获取当前时间距离1970-01-01 00:00:00 的毫秒数long start = System.currentTimeMillis();for(int i=2;i <= 100000;i++){//遍历100000以内的自然数boolean isFlag = true;//标识i能否被j除尽,一旦除尽,修改其值;同时重置isFlag的值//for(int j=2;j<i;j++){//j:被i去除//优化二:对本身是质数的自然数是有效的
for(int j=2;j<= Math.sqrt(i);j++){//----根号i(√i)在代码中表示:Math.sqrt(i):表示开方的意思/*---------------------------------------------------------------------
为什么√i就可以了呢?
以2-100为例:100=2*50;从50为界2-50他们的在100内都有对应的倍数,大于50的数的倍数要大于100
x*X<=100(x<X)-->x和X取值范围一定<=50,100开方为10,10*10=100;2*50=100;则:2<=x<=10,10<=X<=50
对与乘法运算:2*50=10*10;2,10为100的因数,在程序中2运算后之后,则不必在一直执行到j=50;对于质数和非质数都适用
所以根号i(√i)可以使用-------------------------------------------------------------------------*/if(i%j==0){//i被j除尽,isFlag = false;break;//优化一:只对本事非质数的自然数是有效的。 }}if(isFlag==true){count++;//9592//System.out.print(i+" ");}}System.out.println("-----------");//获取当前时间距离1970-01-01 00:00:00 的毫秒数long end = System.currentTimeMillis();//将输出质数换count++后时间:17969 -- 优化一:break:1497 -- 优化二:14System.out.println("质数的个数为:"+count);//时间:20105 -- 优化一:break:2585 -- 优化二:1014System.out.println("程序运行所花费的时间:"+(end -start));}
}

9.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程 找出1000以内的所有完数。(因子:除去这个数本身的其它约数)

class ForForExer{public static void main(String[] args){System.out.println("i=");for(int i = 1;i<=1000;i++){int sum =0;//每内循环结束,归0for(int j = 1;j<i;j++){if(i % j==0){sum += j;//计算因数的和} }if(i == sum){System.out.println(i);//i=6 28 496}}}
}

嵌套循环练习:打印三角,九九乘法表,质数,质数优化相关推荐

  1. python 打印倒三角九九乘法表

    #每天一点点# python 打印倒三角九九乘法表 for i in range(9,0,-1):for j in range(i,0,-1):print(str(i)+'*'+str(j)+'='+ ...

  2. python乘法口诀编程-中年大叔学编程-用Python打印个九九乘法表

    原标题:中年大叔学编程-用Python打印个九九乘法表 前面简单的介绍了一些基础常用的语法,那么这一篇,我们就来实践一番,写两个小程序,感受一下传说中coding的感觉. Python打印九九乘法表 ...

  3. 用php打印九九乘法表,php如何打印出九九乘法表呢?

    摘要: 下文讲述使用php代码在页面上输出九九乘法表的示例分享,如下所示: 实现思路: 主要使用遍历的方式输出九九乘法表 例: php 循环输出九九乘法表 echo "maomao365.c ...

  4. python上三角九九乘法表_用5行Python代码打印九九乘法表

    今天来个小练习,用 5 行 python 代码打印九九乘法表. 分析问题 九九乘法表是有一定的规律,每一行的等式里面,第一位数从 1 开始递增,第二位数保持不变,每一列的等式里面,第一位为当前的列数, ...

  5. c语言编程倒三角九九乘法表,【请用C语言变成】把九九乘法表分别显示成矩形,正三角,倒三角形状...

    满意答案 sjdesjde 2014.06.24 采纳率:49%    等级:12 已帮助:7265人 思路:不同形状就是解决格式控制 ,即空格的填充和换行问题.九九乘法表一共有sigma(9)=1+ ...

  6. 如何用Java语言打印出九九乘法表

    用Java语言实现输出九九乘法表 九九乘法表的打印对于每个初学Java的人来说都是必须要掌握的基本内容,其解决方法就是利用嵌套循环来实现九九乘法表的输出,主本题主要考察对循环语句的掌握情况. 输出样例 ...

  7. python循环语句嵌套_2个实例搞懂Python循环嵌套——九九乘法表以及质数的索引...

    前面我们讲过了Python中的循环语句有两种:while循环和for循环.Python语言可以允许在一个循环体内嵌套另一个循环体. 比如:在while循环中可以嵌套for循环:也可以在for循环中嵌套 ...

  8. C++打印异形九九乘法表小游戏

    题目描述: 输出九九乘法算表.分别打印上三角.下三角和全体 输出格式: 数据范围与提示: 每个数字之间有1个空格: 上三角.下三角和全体三种输出格式,两两之间要空一行: 为了使得1位数字与两位数字对齐 ...

  9. Python:3种方法解决:输出(打印)九九乘法表(99乘法表)问题

    打印99乘法表是一个非常经典的循环案例题,下次我用三种方法进行输出演示 方法1 双for循环,灵活运用end=进行"取消换行符"以及print()进行内层循环结束后的换行形成三角9 ...

最新文章

  1. java内省操作类的属性
  2. mybatis巨坑:if标签判断如果类型是integer,值为0,判断不成立(传入0值使用MyBatis查询不生效的原因)
  3. C++模板的特例化编译为多重定义问题
  4. 从零开始入门 K8s | Kubernetes API 编程范式
  5. Redhat 5.1 install PHP 5.3.6
  6. 阻止html页面加载,如何防止页面加载重复的JS?
  7. java jdbc 工具_JDBC 工具类
  8. Open3d之颜色映射优化
  9. Linux下 C++遍历目录文件
  10. R语言中的字符串处理函数
  11. 【POJ2752】Seek the Name, Seek the Fame(hash)
  12. maven安装配置换阿里源
  13. 圆锥曲线一些奇怪的例题模型
  14. JAVA基础之设计模式和枚举
  15. SPA(单页面web应用)和MPA(多页面web应用)
  16. chm打开秒退_CHM文件打开方式
  17. 先进PID控制Matlab仿真第4版-pdf课本+仿真程序
  18. 生活小妙招---wifi遥控点火器
  19. 2022华为开发者大赛 首届·厦门开发者创新应用赛在厦门举办
  20. 微服务自动化之etcd的安装(centos)和基本介绍

热门文章

  1. CSS3理解position属性
  2. 实验四:进程同步与通信
  3. 开发Java程序的工具
  4. python T检验
  5. 【flask】Blueprint蓝图
  6. flask使用Blueprint
  7. 【突变检验方法一】MATLAB实现Pettitt突变检验
  8. 研究下php加密混淆,解析php混淆加密解密的手段,如 phpjm,phpdp神盾
  9. wow服务器合并信息,《魔兽世界》一区合并服务器正式通告
  10. 哔咔服务器维护时间,哔咔