Lab5-Lottery


5530207421  นายธนกร ยอดธง (COM22000) (12/11/2012 (10:42:17 AM))

MiniQuiz + TestScript
JLab>javac Lottery.java
JLab>
JLab>java Selftest 

JLab> testLottery : ok ok ok ok ok ok ok ok ok ok ok ok ok ok ok ok ok ok ok ok  (10.0/10.0)
JLab> : -----------------------------
JLab> : ?????? 10.0 ????? (???? 10.0)
JLab> : -----------------------------
JLab> :<POINT>10.0</POINT> (<TOTAL>10.0</TOTAL> )
JLab>

ได้ 10 คะแนน
Source Code
import java.util.Scanner;
import java.io.*;

public class Lottery {
  public static void main(String[] args) throws IOException {
    Scanner in = new Scanner(new File("lottery.txt"));

    System.out.println("" + in.next());
    String[] s = new String[1000];
    int i = 0;
    while (in.hasNext()) {
      s[i] = in.nextLine();
      i++;
    }
    in.close();
    
    int[] number2 = new int[100];
    for (int x = 0; x < i; x++) {
      for (int run = 0; run < 100; run++) {
        if (Integer.parseInt(s[x].substring(s[x].length() - 2, s[x].length())) == run) {
          number2[run]++;
          break;
        }
      }
    }

    System.out.print("เลขท้ายสองตัวที่ไม่เคยออกเลยคือ:");
    // แสดงรายการของเลขที่ไม่เคยออก (แสดงต่อ ๆ กันไปบนบรรทัดเดียวกัน แต่ละตัวคั่นด้วยช่องว่าง เช่น 12 41 32)
    // ถ้าไม่มีเลขที่ไม่เคยออก ก็ไม่ต้องแสดงอะไร
    int min = 99;
    String minimum = "";
    for (int x = 0; x < 100; x++) {
      if (number2[x] <= min) {
        min = number2[x];
      }
    }
    for (int x = 0; x < 100; x++) {
      if (number2[x] == min) {
        minimum = minimum + " " + x;
      }
    }
    System.out.print(minimum);
    System.out.println();
    System.out.print("เลขท้ายสองตัวที่ออกบ่อยสุดคือ:");
    // แสดงรายการของเลขที่ออกบ่อยสุด (แสดงต่อ ๆ กันไปบนบรรทัดเดียวกัน แต่ละตัวคั่นด้วยช่องว่าง เช่น 69 18)
    // เลขที่ออกบ่อยสุด อาจมีมากกว่าหนึ่งตัว
    int max = 0;
    String maximum = "";
    for (int x = 0; x < 100; x++) {
      if (number2[x] >= max) {
        max = number2[x];
      }
    }
    for (int x = 0; x < 100; x++) {
      if (number2[x] == max) {
        maximum = maximum + " " + x;
      }
    }
    System.out.print(maximum);
    System.out.println();
  }
}
SM=7, CM=38, ST=34, KY=1585, TR=60:00
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;