Примечание: Это было решено. Я опубликовал рабочий код ниже в более позднем сообщении.Pick 4 Cards Домашнее задание
Во-первых, я знаю, что здесь есть аналогичный вопрос: Pick four cards and compute their sum JAVA Однако исход их сценария отличается от того, что мне нужно, они просто вычисляют 4 случайных карты. Мне нужно найти КАЖДУЮ комбинацию из 4-х карт, которые существуют.
В настоящее время я нахожусь в своем первом классе программирования Java. Мы рассмотрели методы и массивы, но пока ничего не говорили о классах и объектах. Поэтому имейте это в виду, если вы решите ответить.
Моя домашняя работа на этой неделе - написать программу, которая найдет все возможные комбинации из 4-х карт в колоде 52, что составляет до 24. (с Ace 1, Jack 11, Queen 12 и King 13) У меня есть отправил мой код ниже, который, как я знаю, имеет некоторые ошибки, он не работает правильно, как я этого хочу. Я размещаю здесь, чтобы узнать, правильно ли я нахожусь. Мой инструктор говорит, что правильный ответ - 12 517, и нам решать этот ответ. Любые подсказки будут высоко оценены.
Конкретная Вопрос по запросу - «Как я могу изменить свой код, приведенный ниже, который будет производить вывод 12,517»
Вещи, которые я знаю:
Я знаю, что некоторые цифры отсутствуют в итераций, четвертый стек сбрасывается обратно до 4 вместо перехода на 1. Я еще не понял, как исправить это.
Я знаю, что мой самый глубокий цикл цикла будет цикл той же комбинации 4 раза, прежде чем продолжить ... У меня нет идеи, почему (или как) это делает это.
NOTE !: У меня есть выходные сообщения в методе «рассчитать» для отладки. Если вы хотите их использовать, начните сразу же прекратить выполнение скрипта, что даст вам представление. Если вы хотите, чтобы программа выполнялась до завершения, прокомментируйте 3 выходных сообщения во вложенном цикле 4.
public static void main(String[] args) {
int[] deck = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int total;
total = calculate(deck);
output(total);
}
public static int calculate(int[] deck){
int total = 0;
int stack1, stack2, stack3, stack4, accumulate;
for (stack1 = 0; stack1 < 52; stack1++){
for (stack2 = 1; stack2 < 52; stack2++){
for (stack3 = 2; stack3 < 52; stack3++){
for (stack4 = 3; stack4 < 52; stack4++){
accumulate = (deck[stack1] + deck[stack2] + deck[stack3] + deck[stack4]);
System.out.println(deck[stack1] + " + " + deck[stack2] + " + " + deck[stack3] + " + " + deck[stack4]);
if (accumulate == 24){
System.out.println(deck[stack1] + " + " + deck[stack2] + " + " + deck[stack3] + " + " + deck[stack4]);
total++;
System.out.println("Accumulate is at " + accumulate);
System.out.println("Currently at " + total);
}
}
}
}
}
return total;
}
public static void output(int total){
System.out.println ("The total number of card combinations of 4 that \n"
+ "equal 24 is: " + total);
}
}
Я голосую, чтобы закрыть этот вопрос не по теме, потому что просят комментарии на ваш код не является подходящим вопросом для SO –
Soooooo ... просить помощи с кодом не разрешено? Разве этот * целый форум * не предназначен для помощи людям с их кодированием? –
есть раздел справки выше, он расскажет вам, какие у вас хорошие вопросы: –