fork download
  1. package temp;
  2.  
  3. import java.io.*;
  4. import java.util.Arrays;
  5. import java.util.Comparator;
  6. import java.util.HashSet;
  7. import java.util.Random;
  8. import java.util.Scanner;
  9.  
  10. public class Test {
  11. public static void main(String[] args) {
  12. createData();
  13. calcAverage();
  14. }
  15.  
  16. static void calcAverage() {
  17. try {
  18. int sum = 0;
  19. int count = 0;
  20.  
  21. try (FileInputStream fis = new FileInputStream("/home/b/Desktop/data.txt")) {
  22. try (InputStreamReader isr = new InputStreamReader(fis)) {
  23. try (BufferedReader br = new BufferedReader(isr)) {
  24. while (true) {
  25. String line = br.readLine();
  26. if (line == null) {
  27. break;
  28. }
  29. String[] columns = line.split(" ");
  30. sum += Integer.parseInt(columns[2]);
  31. count += 1;
  32. }
  33. }
  34. }
  35. }
  36.  
  37. System.out.println("average " + ((double)sum / count));
  38. } catch (IOException e) {
  39. throw new RuntimeException(e);
  40. }
  41. }
  42.  
  43. static void createData() {
  44. String[] familynames = new String[] { "佐藤", "中村", "佐々木", "林", "齋藤", "池田", "小川", "渡邉", "遠藤", "石田", "和田", "山崎", "渡邊", "工藤", "松井", "今井", "木下", "櫻井", "久保", "千葉",
  45. "本田", "渡部", "山内", "西田", "高田", "南", "松下", "安田", "菅野", "高野", "石橋", "吉岡", "関", "澤田", "中原", "森本", "岡", "片岡", "中嶋", "上村", "鈴木", "伊藤", "吉田", "木村",
  46. "前田", "長谷川", "村上", "藤原", "三浦", "原田", "中川", "金子", "上田", "内田", "小山", "村田", "野口", "大塚", "増田", "平田", "杉本", "水野", "松岡", "菊地", "石原", "島田", "西川",
  47. "中田", "永井", "永田", "服部", "大島", "成田", "大山", "岩崎", "山中", "大橋", "浅野", "松永", "小澤", "田中", "小林", "松本", "清水", "山下", "橋本", "後藤", "青木", "近藤", "岡本", "太田",
  48. "中野", "中山", "森田", "横山", "野村", "佐野", "平野", "齊藤", "東", "大西", "杉山", "中西", "古川", "辻", "斎藤", "大谷", "樋口", "望月", "土屋", "西山", "馬場", "黒田", "髙橋", "篠原",
  49. "宮田", "大石", "松浦", "松村", "須藤", "山本", "山田", "山口", "森", "阿部", "岡田", "藤田", "松田", "小野", "西村", "竹内", "柴田", "宮本", "谷口", "市川", "上野", "武田", "川口", "菅原",
  50. "宮崎", "菊池", "小島", "五十嵐", "吉川", "矢野", "高木", "田口", "大久保", "星野", "熊谷", "荒木", "桑原", "松原", "栗原", "白石", "北川", "小田", "青山", "早川", "河合", "高橋", "加藤",
  51. "井上", "渡辺", "石川", "中島", "坂本", "石井", "藤井", "田村", "大野", "福田", "原", "酒井", "安藤", "藤本", "松尾", "河野", "丸山", "川上", "北村", "斉藤", "秋山", "新井", "飯田", "野田",
  52. "久保田", "小松", "川村", "岩田", "堀", "岩本", "吉村", "福島", "小泉", "上原", "本間", "小池", "鎌田", "吉野", "足立", "片山", "安部", "天野", "中尾", "奥田", "川崎", "神谷", "松山", "前川",
  53. "水谷", "金田", "町田", "児玉", "坂田", "岸本", "植田", "森山", "三上", "大川", "森川", "中谷", "堀内", "桜井", "川原", "川端", "谷川", "新田", "米田", "徳永", "岡野", "松島", "落合", "吉澤",
  54. "平川", "福永", "榊原", "大木", "田上", "武井", "内藤", "尾崎", "奥村", "宮下", "牧野", "田代", "小笠原", "川島", "高山", "中澤", "横田", "大澤", "岩井", "村井", "坂井", "小倉" };
  55. String[] givennames = new String[] {"春", "夏", "秋", "冬"};
  56. Random random = new Random();
  57. int manCount = 0;
  58. int womanCount = 0;
  59.  
  60. HashSet<String> numbers = new HashSet<>();
  61. try {
  62. try (FileOutputStream fos = new FileOutputStream("/home/b/Desktop/data.txt")) {
  63. try (OutputStreamWriter osw = new OutputStreamWriter(fos)) {
  64. try (BufferedWriter bw = new BufferedWriter(osw)) {
  65. for (int i = 0; i < 30; i++) {
  66. // create name
  67. String personalname = familynames[random.nextInt(familynames.length)] + givennames[random.nextInt(givennames.length)];
  68.  
  69. if (manCount > 15) {
  70. personalname += "女";
  71. womanCount += 1;
  72. } else if (womanCount > 15) {
  73. personalname += "男";
  74. manCount += 1;
  75. } else {
  76. if (random.nextBoolean()) {
  77. personalname += "女";
  78. womanCount += 1;
  79. } else {
  80. personalname += "男";
  81. manCount += 1;
  82. }
  83. }
  84.  
  85. // create number
  86. String number = "";
  87. do {
  88. for (int j = 0; j < 6; j++) {
  89. number += String.valueOf(random.nextInt(10));
  90. }
  91. } while (numbers.contains(number));
  92. numbers.add(number);
  93.  
  94. // create score
  95. int score = random.nextInt(101);
  96.  
  97. bw.write(personalname + " " + number + " " + score);
  98. bw.newLine();
  99. }
  100. }
  101. }
  102. }
  103. } catch (IOException e) {
  104. throw new RuntimeException(e);
  105. }
  106. }
  107. }
  108.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty