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"));
int ltn[] = new int[100];
while (in.hasNext()) {
String numb = in.nextLine();
numb = numb.substring(numb.length()-2,numb.length());
int tni = Integer.parseInt(numb);
ltn[tni]++;
}
in.close();
String zero = "";
for (int i = 0; i < ltn.length; i++) {
if (ltn[i] == 0) {
zero = zero + i + " ";
}
}
System.out.print("เลขท้ายสองตัวที่ไม่เคยออกเลยคือ:");
// แสดงรายการของเลขที่ไม่เคยออก (แสดงต่อ ๆ กันไปบนบรรทัดเดียวกัน แต่ละตัวคั่นด้วยช่องว่าง เช่น 12 41 32)
// ถ้าไม่มีเลขที่ไม่เคยออก ก็ไม่ต้องแสดงอะไร
System.out.print(zero);
int fn = ltn[0];
String fp = "";
for (int i = 0; i < ltn.length; i++) {
if (ltn[i] > fn) {
fp = " " + i + " ";
fn = ltn[i];
}else if (ltn[i] == fn) {
fp = fp + i + " ";
}
}
System.out.println();
System.out.print("เลขท้ายสองตัวที่ออกบ่อยสุดคือ:");
// แสดงรายการของเลขที่ออกบ่อยสุด (แสดงต่อ ๆ กันไปบนบรรทัดเดียวกัน แต่ละตัวคั่นด้วยช่องว่าง เช่น 69 18)
// เลขที่ออกบ่อยสุด อาจมีมากกว่าหนึ่งตัว
System.out.print(fp);
System.out.println();
}
}