Я выполняю это упражнение, упражнение говорит следующее:
* Учитывая входной файл, содержащий 1000 случайных рук блэкджека между 3 игроками (здесь: blackjack.txt), подсчитайте количество блэкджеков, с которыми столкнулся любой игрок.во всех играх.
Блэкджек определяется как Туз любой масти и 10-значная карта (Джек, Королева, Король или 10) любой масти.
Входной файл выглядит следующим образом: (в качестве примера)
4H 5C AD JH 9C 10H
Это означает, что у каждого игрока 4 червы и 5 булав;у игрока 2 есть туз алмазов и валет сердец (который считается блэкджеком);у игрока 3 есть 9 треф и 10 червей.
Для решения этой проблемы известно, что для каждой новой игры существует стандартная колода из 52 карт, которая перетасовывается. *
Я думаю, что я нахожусь в правильном подходе, и мой код верен, но мои ответы терпят неудачу, любой намек, предложение для получения правильного ответа
это мой код:
import java.io.*;
public class Problema16 {
public static void main(String args[]) {
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
int counter = 0;
//int rest = 0;
try {
archivo = new File("C:\\Users\\\blackjack.txt");
fr = new FileReader(archivo);
br = new BufferedReader(fr);
String linea;
String[] linea2 = null;
while ((linea = br.readLine()) != null) //System.out.println(linea);
{
linea2 = linea.split(" ");
String a = (linea2[0]);
String b = (linea2[1]);
String c = (linea2[2]);
String d = (linea2[3]);
String e = (linea2[4]);
String f = (linea2[5]);
if ((a.startsWith("A") && (b.startsWith("J") || (b.startsWith("Q") || (b.startsWith("K") || (b.startsWith("10")))))) || ((a.startsWith("J") || (a.startsWith("Q") || (a.startsWith("K") || (a.startsWith("10"))))) && (b.startsWith("A")))) {
counter++;
//System.out.println(a + "" + b + "");
} else if ((c.startsWith("A") && (d.startsWith("J") || (d.startsWith("Q") || (d.startsWith("K") || (d.startsWith("10")))))) || ((c.startsWith("J") || (c.startsWith("Q") || (c.startsWith("K") || (c.startsWith("10"))))) && (d.startsWith("A")))) {
counter++;
//System.out.println(c + "" + d + "");
} else if ((e.startsWith("A") && (f.startsWith("J") || (f.startsWith("Q") || (f.startsWith("K") || (f.startsWith("10")))))) || ((e.startsWith("J") || (e.startsWith("Q") || (e.startsWith("K") || (e.startsWith("10"))))) && (f.startsWith("A")))) {
counter++;
//System.out.println(e + "" + f + "");
} else {
//sobra++;
}
}
System.out.println(counter);
//System.out.println(sobra);
} catch (Exception e) {
e.printStackTrace();
}
}
}
это упражнение онлайн 1 .Мои ответы 119, но это неправильно.