MR_RichardV 2013-08-27 09:59 采纳率: 0%
浏览 2242

关于Myeclipse中死循环退出的问题。

有三段死循环代码
1.

public void Method()
        {
            int i = 1;

            while(i <= 9 )
            {
                int j = 1;
                while(j<=i)
                {   
                    System.out.print(i*j);
                    System.out.print("\t"); 
                    j++;
                j = 1;      //死循环
                }
                i++;
                System.out.println();       
            }
        }

2.

public void Method()
        {
            for(int j =1 ;j>0; j++)
            {
                System.out.print(j);
            }
        }

3.

public void Method()
        {
            for(int j =1 ;j>0; j++)
            {
                System.out.println(j);
            }
        }

均在MyEclipse10下运行
问题1:代码1 和代码2、3均为死循环,但为何在terminate(停止)的时候代码1 要耗费的时间非常地长。

问题2:代码2 和代码3 的区别在print还是println ,但为何代码2不显示结果,但代码三println正常?

  • 写回答

1条回答

  • zhaaoan 2016-04-23 13:56
    关注

    问题1:
    第一个题单从两个while语句来说时间复杂度就是O(n2),二,三题时间复杂度是O(n)。而且,题一占用空间资源多,应该总共是10 排数字1。一直循环输出,所以说在空间复杂度上占有资源也很大,故时间长。虽然现在手段,技术用空间复杂度代替了时间复杂度。但是在一定程度上能够获得的效益却不怎么好,毕竟时间真的在消耗着。具体了解: http://wenku.baidu.com/view/190b64c59ec3d5bbfd0a7417.html
    问题2:假如我们打印同一个字符(字符串),结果如下:
    print()打印结果(页面):
    a a a a a a a a a a aaaaaaaaaa

    println()打印结果:
    a
    a
    a
    a
    a
    a
    a
    a
    a
    a
    aaaaaaaaaa

    在Java编程中,我们常常用System.out.println()方法来输出字符串,也许我们都已经猜到println()是方法名,但System是什么,out又是什么呢?

    这里就涉及用到一个static关键字。其实System是java.lang里面的一个类。而out就是System里面的一个数据成员(也称为字段),但这个成员不是基本类,而是java.io.PrintStream类的对象,java.io.PrintStream类有些什么方法等一下再说。被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以System.out是应用了out这个静态数据成员。而out又是一个java.io.PrintStream类的对象,所以out必然可以调用java.io.PrintStream类里面的方法,println()就是java.io.PrintStream类里的一个方法,它的作用就是用来想控制台输出信息的。String类的最大范围是;0 到2,147483,647 bytes 。超出范围就会报错。当然无法输出。但是换行就行。所以建议你不要一下子读完啊,可以用缓冲一次读取一点或者用readLine()方法,一行一行的读。就没有问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)