黑马程序员技术交流社区

标题: ~~两个问题一起问哦~~ [打印本页]

作者: newlaw2013    时间: 2012-3-30 09:03
标题: ~~两个问题一起问哦~~
    为了减少大家的鼠标点击时间,现在决定开始打包问问题:D不知道这样子的效果,我先试点下哈,恳请大家多多支持啊~~


一:列出一个目录下的文件时,创建了一个String数组,依次打印该数组的元素时,运行多次结果是一样的,也就是说存入时有一定的顺序,我现在想知道的是,决定这个顺序的是什么呢?(从控制台显示的结果来看,应该也不是自然排序)。代码如下:
import java.io.*;
class Demo2
{
        public static void main(String[] args)
        {

                File dir = new File("C:\\");

                String[] files = dir.list();
                for(int x=0;x<files.length;x++)
                {
                        System.out.println(files[x]);
                }
        }
}


二:递归求一个数的二进制时,用了while,循环停止不了
,Eclipse下如何强制停下程序呢?最后没办法我只好关了Eclipse重启!
代码如下:
import java.io.*;
class FileDemo3
{
        public static void main(String[] args)
        {
                sop("getSum_2="+n);
        }

        public static void toBin(int num)
        {
                if(num>0)//这里的if如果换做while则循环停止不了。
                {
                        toBin(num/2);
                        sop(num%2);
                }
        }

        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}

作者: 朱俊    时间: 2012-3-30 09:26
本帖最后由 朱俊 于 2012-5-16 15:01 编辑

~~~~~~~~~~~
作者: 肖发腾    时间: 2012-3-30 10:32
查阅了JDK1.6 发现下面这句话:
list()方法
不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。
我在自己电脑上也试了下,发现也是这样的,但还是有规律可循的,英文文件名的文件是按照字母顺序排列的,
还有视频是排在一起的。我觉得它内部应该是多种排序算法的综合吧,以最友好的形式展现出来,就像搜索引擎的排名算法一样,个人理解,呵呵,不知对否。

关于第二个问题,在调试透视图下,有个方块的红色中止按钮的。
用while循环不停止是因为:
while与if的区别,while先执行一遍语句再去判断while条件,if是先判断条件再去执行if后面的语句,这样明白了吧,while与if的最大区别一定要牢记。。。

作者: 姚伟涛    时间: 2012-3-30 10:42
$Recycle.Bin
$WINDOWS.~BT
autoexec.bat
Boot
boot.ini
Boot.ini.saved
bootfont.bin
bootmgr
BOOTNXT
BOOTSECT.BAK
config.sys
Documents and Settings
Drivers
hiberfil.sys
IO.SYS
MSDOS.SYS
NTDETECT.COM
ntldr
okldr
pagefile.sys
PerfLogs
Program Files
ProgramData
Recovery
RECYCLER
swapfile.sys
System Volume Information
Uninstall.
Users
Windows
Windows.old
YlmF.ima
按字母顺序排序的
-------------------------------------------------------------------------------------------------
while循环语句的原理是先执行后判断,if为先判断后执行





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