黑马程序员技术交流社区

标题: 一个关于for嵌套的问题 [打印本页]

作者: ﹄児。小亚    时间: 2014-5-30 23:14
标题: 一个关于for嵌套的问题
我是零基础,学习中,碰到问题 了,求解决啊。
最近在学for嵌套,我用的是win7系统,jre是1.8.0的,但我看用for嵌套语句打印*号的时候,我的电脑打印出来是单行的。如图
[url=]图片[/url]














代码如下
class ForFor
{
        public static void main(String[] args)
        {
                for(int x=0; x<4; x++)
                {
                        for (int y=0; y<5; y++)
                        {
                                System.out.println("*");
                        }
                        System.out.println();
                }
        }
}

是我代码出错了?还是Jre新版本就是这种特性?还是win7就会这样?指导指导我啊。

QQ截图20140530231046.png (25.31 KB, 下载次数: 6)

打印结果

打印结果

作者: ﹄児。小亚    时间: 2014-5-30 23:15
自己顶一下,明天起来看,谢谢各位啦。
作者: nxp1986    时间: 2014-5-30 23:19
你打印“*”的哪一行,不需要带上ln,那样就可以了
作者: nxp1986    时间: 2014-5-30 23:21
  1. class ForFor
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=0; x<4; x++)
  6.                 {
  7.                         for (int y=0; y<5; y++)
  8.                         {
  9.                                 System.out.print("*");
  10.                         }
  11.                         System.out.println();
  12.                 }
  13.         }
  14. }
复制代码

作者: ﹄児。小亚    时间: 2014-5-30 23:26
ok,解决了,谢谢啊,我还真没注意到那,还对着比了好一阵。。。。:L
这个不带ln和带ln有什么区别吗?我也没注意到,只是看视频时候听不带ln,不打印?
作者: 孟祥钰    时间: 2014-5-30 23:30
跟系统和JDK没有关系。
你的输出语句是这样写的 System.out.println("*");
println代表着换行,就是说你执行一次输出语句就会进行一次换行,即每打印一个*号就会换行一次。
System.out.print( );才是在同一行打印。
如果不想换行而是用*打印成矩形,应该这样写
  1. class ForFor
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=0; x<4; x++)
  6.                 {
  7.                         for (int y=0; y<5; y++)
  8.                         {
  9.                                 System.out.print("*");
  10.                         }
  11.                         System.out.println();
  12.                 }
  13.         }
  14. }
复制代码
这种小细节要多多注意才行啊




作者: wyy666    时间: 2014-5-30 23:31
//  System.out.println("*");此句换行啊,
作者: 西门吹风    时间: 2014-5-30 23:37
System.out.print()打印结束不换行,
System.out.println()打印结束自动换行
作者: 小钟    时间: 2014-5-30 23:39
  1. class ForFor
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=0; x<4; x++)
  6.                 {
  7.                         for (int y=0; y<5; y++)
  8.                         {
  9.                                 System.out.print("*");
  10.                         }
  11.                         System.out.println();
  12.                 }
  13.         }
  14. }
复制代码



听说最新版的JDK有些东西改变了,最好还是不要用最新的,还不太成熟,现在流行的还是1.5,1.6的样子,1.7的也行!
作者: 北极£莜蓝    时间: 2014-5-30 23:40
注意换行,,,,,,System.out.println()一般在外循环里面
作者: ↘ふ紫铯幽夢    时间: 2014-5-30 23:44
内循环是控制列数,在每列打印完后在换行,因此内循环中不要换行,改为System.out.print("*");
作者: 诺诺    时间: 2014-5-31 00:02
你这是打印等腰三角那个吧, ==
作者: woshihq    时间: 2014-5-31 00:56
﹄児。小亚 发表于 2014-5-30 23:26
ok,解决了,谢谢啊,我还真没注意到那,还对着比了好一阵。。。。
这个不带ln和带ln有什么区别吗?我也 ...

带ln自动换行
作者: wojiaojay    时间: 2014-5-31 22:12
System.out.println("*");  println去掉ln就可以了!!!带ln是换行的意思




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