2017-07-18 17 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にパラメータを渡すと、1つの引数(String [])で宣言しましたが、何も渡さずに呼び出しています。 – BigMike

+0

Java命名規則について学ぶ。変数名と関数名は小文字で始まります。 – Jens

+0

'public static String list_to_CSV(String [] list){ return String.join("、 "、list)+" \ n "; } '望むならあなたの方法を1行に減らすことができます;)(美しくない言葉の前にスペースを入れない;) – azro

答えて

2

エラーノートとして、Write_To_CSVは空の引数リストには適用されません。 String[]引数を取るように定義しました。私はWrite_To_CSV(ls)に電話をかけようとしていると思います。

1

メソッド宣言がpublic static void Write_To_CSV(String [] list)と表示されている場合は、Write_To_CSV()に電話をかけようとしています。引数なしでその名前のメソッドを持たないので、リスト(String配列)を引数として指定する必要があります。

変更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()の使用をやり直してください。

関連する問題