Колода Карт, содержащих 13 символов из 1-13, где значения показаны на карте представляют следующие числовые значения:колода карт с динамическим входным
'A' - 1
'2' - 2
'3' - 3
'4' - 4
'5' - 5
'6' - 6
'7' - 7
'8' - 8
'9' - 9
'T' - 10
'J' - 11
'Q' - 12
'K' - 13
Программа должна удалить все экземпляры «K» карта и любые два последовательных номера, которые суммируются до 13.
Я написал программу для удаления экземпляров «K» и цифр, суммирующих до 13, но я не могу понять, как обеспечить ввод карточек от пользователя (с использованием класса сканера). Я знаю, что класс сканера принимает данные, но как я могу сравнить с существующим массивом с динамическим вводом. Пожалуйста, помогите
Вот мой код:
import java.util.Scanner;
import java.util.*;
public class CircleGame
{
static Scanner sc = new Scanner(System.in);
static int[] deckArray = {'A',2,3,4,5,6,7,8,9,'T','J','Q','K'};
public int cardsLeft(int[] deck, int sum)
{
for(int i=0;i<deck.length;i++)
{
//char c = deck.charAt(i);
if(deckArray[i] == 'A')
deckArray[i] = 1;
if(deckArray[i] == 'T')
deckArray[i] = 10;
if(deckArray[i] == 'J')
deckArray[i] = 11;
if(deckArray[i] == 'Q')
deckArray[i] = 12;
if(deckArray[i] == 'K')
deckArray[i] = -1;
for(int j=0;j<deckArray.length;j++){
for(int k=j+1;k<deckArray.length;k++){
if(deckArray[j]+deckArray[k] == sum){
deckArray[j] = -1;
deckArray[k] = -1;
}
}
}
}
int count = 0;
for(int aDeckArray:deckArray)
{
if (aDeckArray != -1) {
count++;
}
}
return count;
}
public static void main(String[] args)
{
CircleGame c = new CircleGame();
c.cardsLeft(deckArray,13);
}
}
любая идея, как я могу напечатать неудаленных карты колоды? – kittu
@ KiritiKomaragiri я отредактировал мой ответ, это то, что вы ищете? – fxm
Оцените свой быстрый ответ, но в качестве примера я отправляю образец требуемого вывода: 'Если пользователь вводит« KKKKKAQT23 » Возврат: 1 Карты K удаляются, оставляя AQT23. AQ затем удаляются, потому что они добавляют до 13, оставляя T23. Поскольку колода обертывается вокруг, а T и 3 складываются до 13, они также удаляются, просто оставляя 2.' – kittu