2 hike1992 hike1992 于 2014.12.05 16:33 提问

代码,运行结果如下,为什么结果会重复5次,java新手求解惑
    int x=0;
    Enumeration portList1 = CommPortIdentifier.getPortIdentifiers();
    while (portList1.hasMoreElements()) {
        x++;
        test_buffer[x]=((CommPortIdentifier) portList1.nextElement()).getName();            
        System.out.println("第"+x+"串口"+test_buffer[x]);
        if((test_buffer[x]==null)){
            x--;                
            break;
        }
    }

    test_1=new String[x];
    for(int j=0;j<x;j++){
        test_1[j]=test_buffer[j+1];
        System.out.println("第"+j+"串口:"+test_1[j]);
    }

    第1串口COM1

第2串口COM2
第3串口LPT1
第4串口LPT2
第0串口:COM1
第1串口:COM2
第2串口:LPT1
第3串口:LPT2
第1串口COM1
第2串口COM2
第3串口LPT1
第4串口LPT2
第0串口:COM1
第1串口:COM2
第2串口:LPT1
第3串口:LPT2
第1串口COM1
第2串口COM2
第3串口LPT1
第4串口LPT2
第0串口:COM1
第1串口:COM2
第2串口:LPT1
第3串口:LPT2
第1串口COM1
第2串口COM2
第3串口LPT1
第4串口LPT2
第0串口:COM1
第1串口:COM2
第2串口:LPT1
第3串口:LPT2
第1串口COM1
第2串口COM2
第3串口LPT1
第4串口LPT2
第0串口:COM1
第1串口:COM2
第2串口:LPT1
第3串口:LPT2

2个回答

eagleyan
eagleyan   Rxr 2014.12.06 01:33
已采纳

k,分析一下你的程序,首先看到第一个第0串口:COM1,就知道x=4
你的规律是1~4,0~3打印了4次,先让不是这个程序造成的,你外面的程序调用这段调用了5次

u010792467
u010792467   2014.12.05 16:44

首先你这打印的就有问题,System.out.println("第"+j+"串口:"+test_1[j]);你怎么知道是上面的还是下面的?都没有个区分...把输出稍微该的出入下,好辨认是上面打印的还是下面打印的...

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!