2017-07-18 30 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()。

相关问题