2017-10-29 11 views
0

エラーを修正するのを手伝ってください。groovy.lang.MissingMethodException:メソッドのシグネチャがありません:java.io.FileWriter.append()

出力はファイルinvoicedetails.csvで、すべての項目の詳細がcsv形式で構成されます。観察

invoicedetails.csv

Computer,25000.0,2 
Laptop,65000.0,1 
Printer,8000.0,4 

エラー:

groovy.lang.MissingMethodException:メソッドの無署名:java.io.FileWriter.append()は引数の型に適用可能です:( (6.0)
append(char)、append(java.lang.CharSequence)、append(java.lang.CharSequence、int、int)、find()、any() 、grep()

プログラム:

import java.io.FileWriter 
class Main{ 

    static void main(String[] args) 
    { 

     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) 
     println "Enter the number of items:" 
     int n = Integer.parseInt(br.readLine()) 
     String[] item =new String[n] 
     Double[] price =new Double[n] 
     int[] quantity = new int[n] 

     for(int i=0; i<n;i++) 
     { 
      int it = i+1 
      println "Enter item $it details: " 
      item[i] = br.readLine() 
      price[i] = Double.parseDouble(br.readLine()).round(2) 
      quantity[i] = Integer.parseInt(br.readLine()) 
     } 

     String COMMA_DELIMITER = "," 
     String NEW_LINE_SEPARATOR = "\n" 

     try 
     { 
      FileWriter fileWriter = new FileWriter("invoicedetails.csv") 

      for(int j=0; j<n;j++) 
      { 
       fileWriter.append(item[j]) 
       fileWriter.append(COMMA_DELIMITER) 
       fileWriter.append(price[j]) 
       fileWriter.append(COMMA_DELIMITER) 
       fileWriter.append(quantity[j]) 
       fileWriter.append(NEW_LINE_SEPARATOR) 
      } 
     } 
     catch(Exception e) 
     { 
      println e 
     } 
    } 
} 
+0

わかりやすく理解できないように書式設定(特にコードの字下げ)が改善されました –

答えて

0

Double[] price =new Double[n] 
... 
fileWriter.append(price[j]) 

int[] quantity = new int[n] 
... 
fileWriter.append(quantity[j]) 

FileWriter#append方法が受け入れるいずれかのパラメータとしてcharCharSequenceあなたのコード内でこの例外が発生するコードの2つのブロックがあります。 。これらの値を書き込むには、CharSequenceString)に変換する必要があります。

など。

関連する問題