校验是否中了双色球

package ticket;

import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.io.IOUtils;
import org.junit.Test;

public class LotteryTicket {
@SuppressWarnings("unchecked")
@Test
public void test() throws Exception {
List<String> readLines = IOUtils.readLines(new FileInputStream(
new File("2015.txt")));
List<String> buyTicketsString = IOUtils.readLines(new FileInputStream(
new File("buyTicket.txt")));
List<Ticket> buyTickets = new ArrayList<Ticket>();
Map<String, Ticket> allTicketsMap = new HashMap<String, Ticket>();

for (String buyTicket : buyTicketsString) {
buyTickets.add(toTicket(buyTicket));
}

for (String buyTicket : readLines) {
Ticket ticket = toTicket(buyTicket);
allTicketsMap.put(ticket.getTicketSerial(), ticket);
}

for (Ticket ticket : buyTickets) {
Ticket inputTicket = allTicketsMap.get(ticket.getTicketSerial());
check500Million(inputTicket, ticket);
}
}

public void check500Million(Ticket ticket, Ticket buyTicket) {
boolean hasBuleBall = ticket.getBlueBall().equals(
buyTicket.getBlueBall());
List<String> redBalls = ticket.getRedBalls();
int redHits = 0;
for (String redBall : redBalls) {
if(buyTicket.getRedBalls().contains(redBall))
{
redHits++;
}
}

if(redHits == 6 && hasBuleBall)
{
System.out.println("一等奖");
}
else if(redHits == 6)
{
System.out.println("二等奖");
}
else if(redHits == 5 && hasBuleBall)
{
System.out.println("三等奖");
}
else if ( redHits == 5 || (redHits == 4 && hasBuleBall))
{
System.out.println("四等奖");
}
else if(redHits == 4 || (redHits == 3 && hasBuleBall))
{
System.out.println("五等奖");
}
else if(hasBuleBall)
{
System.out.println("六等奖");
}
else
{
System.out.println("无奖");
}

}

public Ticket toTicket(String fileLine) {
if ("".equals(fileLine) || null == fileLine) {
return Ticket.EMPTY_TICKET;
}

String[] lineContent = fileLine.split("\\s+");
Ticket ticket = new Ticket();
ticket.setTicketSerial(lineContent[0]);
ticket.setTicketTime(lineContent[2]);
String[] balls = lineContent[1].split("\\|");
String bullBalls = balls[1];
ticket.setBlueBall(bullBalls);
String redBalls = balls[0];
String[] redBallArray = redBalls.split(",");
ticket.getRedBalls().addAll(Arrays.asList(redBallArray));
return ticket;
}

// @Test
public void testToTicket() {
toTicket("2015040 13,16,18,27,30,32|16 2015-04-09");
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值