- ベストアンサー
printfを使って出力する方法
- 文中の質問文章では、printfを使って出力する方法についての疑問があります。
- 具体的には、txtファイルをどのように読み込むかが分からないようです。
- また、成績ファイルを読み込んで科目ごとの平均点を表示するプログラムを作成したいとのことです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
import java.io.*; import java.util.*; // for Scanner public class Kadai3{ public static void main(String args[]){ Scanner sc; String name; int kamoku1, kamoku2, kamoku3; double sum[] = {0.0, 0.0, 0.0}; int n=0; try{ sc = new Scanner(new File("tstfile3.txt")); sc.useDelimiter(",|\\r\\n"); while (sc.hasNext()) { name = sc.next(); kamoku1 = sc.nextInt(); kamoku2 = sc.nextInt(); kamoku3 = sc.nextInt(); System.out.printf("%8s %3d %3d %3d%n", name, kamoku1, kamoku2, kamoku3); sum[0] += kamoku1; sum[1] += kamoku2; sum[2] += kamoku3; n++; } sc.close(); } catch (Exception e) { System.out.println("読み込みエラー" + e); System.exit(1); } System.out.printf("%8s %5.1f %5.1f %5.1f%n", "平均", sum[0]/n, sum[1]/n, sum[2]/n); } }
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1>平均を出力するにはどのようにプログラムを書いていけばいいか sum に1つの科目の点数の合計が入っていて count に 人数が入っているとすると System.out.printf("%5.1f\n", sum/count); で平均をだして(小数1桁まで)を表示することができます。
お礼
ありがとうございます。 プログラム書いてみて月曜にまた投稿するのでお暇でしたら見てやって下さい。
補足
作成してみましたが?のあたりがわかりません。 どなたかおしえてくれませんか? import java.io.*; import java.util.*; // for Scanner public class Kadai3{ public static void main(String args[]){ Scanner sc; String ss1,ss2,ss3,ss4; int sum[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int ten; double heikin; try{ sc = new Scanner(new File("tstfile3.txt")); sc.useDelimiter("[,¥r¥n]"); while (sc.hasNext() == true) { ss1=sc.next(); System.out.print(ss1+"¥t"); int n = 0; while(sc.hasNextInt() == true){ // ??? System.out.print(ss1+"¥t"); } ss4=sc.next(); System.out.printf("%5.1f¥n",(double)sum/n); } sc.close(); } catch (Exception e) { System.out.println("読み込みエラー" + e); System.exit(1); } } }
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>Scannerを使ってprintfで出力するようなんですが,txtファイルをどうやって読み込めばいいでしょうか? Scanner のインスタンスを作って読み込む。 sc = new Scanner(new File("data.txt"));
お礼
回答ありがとうございます。 平均を出力するにはどのようにプログラムを書いていけばいいかも教えてくれるとありがたいです。
お礼
何度もアドバイスありがとうございました。 本当に助かりました。