黑马程序员技术交流社区

标题: for循环的问题 [打印本页]

作者: zhouzhiming88    时间: 2015-5-25 00:03
标题: for循环的问题
for循环的三嵌套,输出的结果大概是怎样的?
作者: 二大爷    时间: 2015-5-25 00:04
你测一下不就知道了吗
作者: 林思奇    时间: 2015-5-25 00:13
这个难说 看你输出需求,具体自测
作者: 人在旅途~东营    时间: 2015-5-25 00:37
这个看你得for循环用于什么样的需求,不过一般来说从里至外 层层外翻即可
作者: 重复    时间: 2015-5-25 00:40
表示给出的问题不是很明确
作者: 张凝宁    时间: 2015-5-25 00:48
多研究研究 我也不会#83
作者: JavaStudy770    时间: 2015-5-25 00:58
比如前两层你用for循环打印了一个正方形,那么第三层其实就是打印正方形的个数
作者: LoveMyself    时间: 2015-5-25 01:06
目前好像还没有用到三层循环
作者: 黯然残影    时间: 2015-5-25 01:19
那要看你像输出什么了,主要看控制条件
作者: 志行    时间: 2015-5-25 10:00
...你这个问题表达的太笼统了 ,这就像我问你一个问题  你如何拯救地球一样~~~~~~~~~~~~~~~~
作者: 石头888    时间: 2015-5-25 10:46
学习学习!
作者: 星辉祝愿    时间: 2015-5-25 11:22
你自己写一个试试就知道啦!具体问题具体分析!
作者: 灯火通明    时间: 2015-5-25 12:06
多练习下就知道过程了
作者: L番茄X    时间: 2015-5-25 12:33
class Demo
{
   public static void main(String[] args)
{
   //二维数组比大小
      int[][] arry = {{34,54,656,43},{23,45,65,66,},{38,54,65,23,23}};
     //假如是第一个数是最大得.
       int max = arr[0][0];
       //遍历数组;
      for(int i = 0 ; i < arry.length; i++ ){
           for(int j = 0 j < arry.length ; j++){
              if(arry[i][j] > max){
                  max = arry[i][j];
              }
            }
         }
            System.out.println(max);
  }
}



作者: BlueSun    时间: 2015-5-25 13:08
问题太笼统了,你给个具体代码才好解释
作者: 哈哈哈哈    时间: 2015-5-25 13:17
那要看你具体测的是什么,比如两层嵌套可以为二维数组赋值,而三层嵌套可以为三维数组赋值。但是如果单单只是输出一条语句加以测试的话,例如输出一条hello world语句,每个for循环了n次,那么三层嵌套的for语句就输出了n的三次方条hello world 语句。
作者: 彭越    时间: 2015-5-25 13:26
shawanyi;;;
作者: EnderDBluse    时间: 2015-5-25 13:50
要先知道需求
作者: 雪域星辰    时间: 2015-5-25 14:41
你这需求都没说明白。。。自己敲一下就知道了
作者: yas丶    时间: 2015-5-25 16:58
自己测试
作者: 青龙李坤    时间: 2015-5-25 17:15
自己动手,是最好的!!!
作者: 齐浩    时间: 2015-5-25 17:24
最外层还是行数,怎么打印都是二维空间,进去一层就是每行的个数,再进去一层就是在每一行的每一个的位置上打印一组,这一组可以有换行,也可以没有,但是这一组就是看作是一个整体,打印完之后肯定是向后继续打印这么一组,最后换行再开始打印第二行,上面无论多少行数据都看作一行,然后重复这么几行就行了。。。。。
作者: Heroe    时间: 2015-5-25 17:56
这里有一组数  "JQS|1=0/1/2/3/4/5/6/7+,2=4,3=4|2*3",
  1. for (int i = 0; i < contl.length; i++) {
  2.                                         String contt = contl[i]
  3.                                                         .substring(contl[i].indexOf("=") + 1);

  4.                                         if (contt.length() > 1 && contt.split("/").length <= 8) {

  5.                                                 try {
  6.                                                         String[] contts = contt.split("/");
  7.                                                         for (int j = 0; j < contts.length; j++) {
  8.                                                                 for (int j2 = j + 1; j2 < contts.length; j2++) {
  9.                                                                         if (contts[j].equals(contts[j2])) {

  10.                                                                                 return message;
  11.                                                                         }
  12.                                                                 }
  13.                                                         }
  14.                                                 } catch (Exception e) {
  15.                                                         // TODO: handle exception
  16.                                                 }
复制代码

当然这个不是单纯的三层嵌套for循环,取两竖线中间的值,
contl是中间的值按逗号切割后存入的数组
第一个for遍历这个数组取出'='后面的数
再取出有/的,以/分割存入数组
用两个for循环判断是否有相同的值
作者: 途中ms前进    时间: 2015-5-25 20:38
表示不明确,自己写个小程序验证下吧
作者: 谢晓明    时间: 2015-5-25 21:10
一般情况是不会用到三层嵌套的。三层嵌套的阅读性太差了
作者: 海洋你好    时间: 2015-5-25 21:15
这个得看你的具体程序才能说结果呀
作者: 1315317959    时间: 2015-5-25 21:17
你得看是要做什么了
作者: 飘过的云    时间: 2015-5-25 21:20
表示 这样不好吧,听起来就有种眩晕的感觉,能不 三嵌套就别
作者: 黑马飞    时间: 2015-5-25 21:21
这是我写的一个小程序里面用到了三层循环,多多指教哈:

——————————————————————————

/**
* 题目:编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
*
* 原始字符串是"abc",打印得到下列所有组合情况:
* "a" "b" "c"
* "ab" "bc" "ca" "ba" "cb" "ac"
* "abc" "acb" "bac" "bca" "cab" "cba"
*
* 思路:因为已经确定该字符串中没有重复的,则只需要把字符串的每一位上的字符进行排列组合就行
*
*
*
* */

public class test5 {
       
        public static void main(String [] args)
        {
               
                System.out.println("请输入一个不包含重复字符的三位字符串:");
               
                BufferedReader buf =  new BufferedReader(new InputStreamReader(System.in));
               
                String str = null;
               
                try {
                        str = buf.readLine();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
               
                //打印只有一个字符的组合
                for(int i = 0;i<str.length();i++)
                {
                        System.out.print(str.charAt(i)+"\t");
                }
               
                System.out.println();
               
                //打印两个字符的组合
                for(int i = 0;i<str.length();i++)
                {
                        for(int j = 0;j < str.length();j++)
                        {
                                //确保每一位不相等
                                if(str.charAt(i) != str.charAt(j))
                                        System.out.print(str.charAt(i)+""+str.charAt(j)+" ");
                        }
                }
               
                //换行
                System.out.println();
               
                //三层循环打印出三个字符的组合
                for(int i = 0;i<str.length();i++)
                {
                        for(int j = 0;j<str.length();j++)
                        {
                                for(int k = 0;k<str.length();k++)
                                {
                                        //确保每一位不相等
                                        if(str.charAt(i) != str.charAt(j) && str.charAt(i) != str.charAt(j) && str.charAt(k) != str.charAt(j))
                                        {
                                                System.out.print(str.charAt(i)+""+str.charAt(j)+str.charAt(j)+" ");
                                        }
                                       
                                }
                        }
                }
               
               
               
               
        }

}


————————————————————
作者: 流泪的青蛙    时间: 2015-5-25 21:24
不太清楚哦,只会for嵌套
作者: 465096445@qq.co    时间: 2015-5-25 21:26
代码吗?可以帮你修改的
作者: jiatengde    时间: 2015-5-25 21:31
确实有点笼统,正在学习中
作者: 仅此一抹心醉    时间: 2015-5-25 21:32
根据具体的问题来测最好
作者: 守株人    时间: 2015-5-25 21:39
同问,坐等大神解答
作者: 冷雨敲窗被未温    时间: 2015-5-25 21:43
空心等腰三角形不知道算不算
作者: Melo    时间: 2015-5-25 21:55
只输出过2层嵌套
作者: TOBESKY    时间: 2015-5-25 22:18
太笼统了,看你的输出语句在哪里了,不同的for语句输出的结果也不一样
作者: w490541    时间: 2015-5-25 22:19
我也不摘掉同求
作者: 代码搬运1号    时间: 2015-5-25 22:48
不明觉厉~!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2