2017-07-18 76 views
-1

我正在嘗試編寫需要一段時間並將其放入CSV然後放入一個.txt文件的代碼。我正在嘗試將一個列表寫入一個.txt文件

我想我寫了正確創建文件的函數,但它不會讓我調用函數。

public class Projects{ 
    public static void main (String [] args) { 

     String ls [] = {"Apples", " Pairs", " HotDogs", " Potatos"}; 
     String x = list_to_CSV(ls); 
     Write_To_CSV(); 
     } 

    public static String list_to_CSV (String [] list) { 
     String CSV = ""; 

     for(int i = 0; i < list.length; i++) { 

      if(i != list.length - 1) { 
       CSV += list[i] + ","; 
      } 
      else { 
       CSV += list[i] + "\n"; 
      } 
     } 
     return CSV; 

    } 

    public static void Write_To_CSV(String [] list) { 
     String CSV_String = list_to_CSV(list); 

     File CSV = new File("CSV.txt"); 

     try { 
      PrintWriter output = new PrintWriter (CSV); 
      output.println(CSV_String); 
      output.close(); 
     } catch (IOException ex) { 
      System.out.printf("Error: %s\n", ex); 
     } 
    } 
} 

它試圖返回Write_To_CSV()時給了我一個燈泡。 - 它表示Write_To_CSV不適用於參數()。我使用Eclipse(我不知道這是否有幫助)。

+0

將參數傳遞給Write_To_CSV,您使用一個參數(String [])聲明它,但是您正在調用而不傳遞任何內容。 – BigMike

+0

瞭解Java命名約定。變量名和函數名應以小寫字母開頭 – Jens

+0

'public static String list_to_CSV(String [] list){ return String.join(「,」,list)+「\ n」; }'如果你願意,你的方法可以在一行中減少;)(並且從不美的單詞之前刪除空格;) – azro

回答

2

由於錯誤提示,Write_To_CSV不適用於空的參數列表。您將其定義爲採用String[]參數。我猜你打算撥打Write_To_CSV(ls)

1

當方法聲明爲public static void Write_To_CSV(String [] list)時,您正在嘗試致電Write_To_CSV()。您需要提供列表(字符串數組)作爲參數,因爲您沒有沒有任何參數的名稱的方法。

Write_To_CSV()更改爲Write_To_CSV(ls)

在其他一些注意事項上:由於您在Write_To_CSV方法的第一行中調用list_to_CSV,因此似乎不需要行String x = list_to_CSV(ls);http://www.oracle.com/technetwork/java/codeconventions-135099.html

+0

工作非常感謝!對不起,這是一個簡單的修復。我真的不知道我在做什麼。 – Jblue

+0

很高興工作。如果您的問題解決了,我建議您接受答案作爲解決方案。 – DanielBarbarian

0
public static void Write_To_CSV(String [] list) 

當你寫的,這個方法有一個列表作爲參數,但是你想不帶任何參數在主執行:另外,作爲在評論中提到的命名約定讀了會很好。

另外,作爲一個建議,因爲在你的主體中,你已經將一個列表轉換爲一個CSV字符串,我不認爲有必要在write_to_CSV()方法中再次執行它,所以使它更簡單字符串作爲參數並避免再次使用list_to_CSV()。

相關問題