-3

我想通過命令行Java中傳遞一個字符串,但它只返回即args[0]返回參數

下面的第一個值是我做了什麼

public class CommandLine 
{ 
    public static void main(String[] args) 
    { 
     int i; 
     i = args[0].length(); //throws error here if args.length(); 
     System.out.println(i); //checking length, return with args[0] only 
     while(i>0) 
     { 
      System.out.println(args[0]); 
      i++; 
     } 
    } 
} 

我應該怎麼做才能改善這種狀況並使之發揮作用?

+0

嗯,你的循環特別說'ARGS [0]',所以我想它是做什麼的,你告訴它。但是'while(i> 0)'和'i ++'聽起來不太合適...... – John3136

+0

是的,我很清楚這一點,我只是因爲'args.length() ;'讓我聽起來很愚蠢,並沒有奏效。 –

回答

2

這裏有一些事情需要處理

  1. 在你的邏輯命令行arugment長度採取錯誤的方式。

  2. 循環條件並不適合您的要求,而且它是一個無限循環或永無止境的循環,它會降低代碼的性能。切勿在代碼中使用無限循環。

3.您每次打印相同的索引,即每次循環內的args [0]。

代碼:

public static void main(String[] args) 
    { 
     int i=0; 
     int len = args.length; //use length only in this case; 
     System.out.println(len); // this will return it properly now 
     while(i<len) 
     { 
      System.out.println(args[i]); 
      i++; 
     } 
    }