タイトル通りですが、コーディングしたのですが、なかなか思い通りに行きません。
問題はこちらです。
下記部分をInput.csvとしてファイルを作成し、
英語の得点を全て+10した値を出力するファイル(Output.csv)を作成してください。
※ +10点した値が100点以上の場合、100点とする。
Input.csv
氏名,国語,数学,英語,理科,社会
荒垣人絵,65,71,74,82,97
今井里絵子,84,83,74,64,65
下原香子,74,74,78,80,78
嶋袋寛子,90,90,90,90,90
鈴木亜美,87,78,85,60,88
広末良子,93,95,94,92,95
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Csv1 {
private final static String inputCsvFile = "C:\JavaTest\test\input.csv";
private final static String outputCsvFile = "C:\JavaTest\test\output.csv";
private final static String ChangeScore = "74,74,78,90,85,94";
private final static String ChangedScore = "84,84,88,100,95,100";
public static void main(String[] args){ String line; String[] csvArray; File inputFile = new File(inputCsvFile); File outputFile = new File(outputCsvFile); BufferedReader in = null; BufferedWriter out = null; try { in = new BufferedReader(new FileReader(inputFile)); out = new BufferedWriter(new FileWriter(outputFile)); while ((line = in.readLine()) != null){ csvArray = line.split("\\,"); for(int i=0; i < csvArray.length; i++){ if(i != csvArray.length -1 ){ if(ChangeScore.equals(csvArray[i])){ csvArray[i] = ChangedScore; out.write(csvArray[i]); out.write(","); }else{ out.write(csvArray[i]); out.write(","); } } else{ out.write(csvArray[i]); } } out.newLine(); } }catch(FileNotFoundException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }finally{ try{ if (in != null){ in.close(); } if(out != null){ out.close(); } }catch(IOException e){ System.out.println("close fail"); e.printStackTrace(); } } }
}
とコーディングしてみましたが、間違っているところだらけです・・・
添削いただけないでしょうか。宜しくお願いいたします。
回答2件
あなたの回答
tips
プレビュー