
タイトルの通りなのですが、javaのプログラムでCSVの中の少数を読み込み、そこから最大値を表示したいのです。
CSVの中身は
10.1,20.2,30.3,40.4,50.4
100.1,200.2,300.3,400.4
という半角の少数がカンマで区切られた状態になっています。
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class test {
public static void main(String args[]) throws NumberFormatException, IOException{
System.out.println("csvのファイル名を入力");
Scanner sc = new Scanner(System.in);
String str = sc.next();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(str)));
String line;
while((line=br.readLine())!=null){
String[] sp = line.split(",");
double sum=0;//合計値格納用
for(int i=0;i<sp.length;i++){
sum += Double.parseDouble(sp[i]);
}
System.out.println(line+"の合計値は"+sum);
}
br.close();
}
}
上記のプログラムは、CSVの中身の各行の合計値を算出するもので、これを元に各行の最大値を算出したいのですが、どうしても比較演算子を使用しての算出がうまくいきません。
どなたかプログラムに詳しい方がいましたら、ご教授いただけると助かります。
つたない文章ですがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
double sum=0;//合計値格納用
double min,max;
for(int i=0;i<sp.length;i++){
sum += Double.parseDouble(sp[i]);
if(i == 0 || Double.parseDouble(sp[i]) < min)
min = Double.parseDouble(sp[i]);
if(i == 0 || Double.parseDouble(sp[i]) > max)
max = Double.parseDouble(sp[i]);
}
System.out.println(line+"の合計値は"+sum);
System.out.println(line+"の最小値は"+min);
System.out.println(line+"の最大値は"+max);
でいいかな
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java 配列<選挙> 4 2023/07/31 15:07
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pleiades4.4でVectorの使用
-
javaプログラミングの質問です。
-
文字列について(続き)
-
printfを使って出力
-
javaプログラミング
-
ファイルの読み取り
-
JSPからパラメータを取得してサ...
-
javaでCSVの中身から最大値を表...
-
「テキストファイルをリソース...
-
HashMap.putについて
-
ファイル読込みにおける改行表...
-
サーブレットからBeanに
-
Java言語 漢字とひらがなの判別
-
BufferedReader.readline()で読...
-
部分一致検索プログラム
-
for文とStringBuffer
-
動的配列が存在(要素が有る)か...
-
pasteHTMLでパスが勝手に変換さ...
-
publicがprotectedになった場合...
-
Ecel 2003 VBA 画像 挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
テキストファイルから空白行をよむ
-
InputStream.read()でタイムア...
-
九九を横に表示する。
-
equalsの逆
-
Java int sum = 0は必要ですか?
-
csv出力について
-
BufferedReaderでのエラー
-
テキストファイルにおいて任意...
-
FileクラスのcanRead/canWrite...
-
[JAVA]エラーが解決できません。
-
Javaの質問です。テキストファ...
-
テキストファイルの任意の文字...
-
JAVAで、SSL通信
-
Class.forNameでエラーになる
-
javaのファイル読み込み時の文...
-
JAVAでエラーがでる。
-
Web上に表示されたデータをcsv...
-
java連結
-
linuxでapache poiが動かない。
おすすめ情報