Программа предназначена для сканирования пользователя на первые две карты, которые они получают, и сообщает им, что у них есть. К сожалению, когда он спрашивает: «Являются ли карты подходящими ?:», он заканчивается перед входом. Я также мог бы научиться упорядочивать условия в инструкции switch, а не обо всех этих уродливых операторах if-else.Окончание основной программы
package Test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int card1 = 0;
int card2 = 0;
String fc1, fc2;
String answer;
Scanner scan = new Scanner (System.in);
System.out.println("First card: ");
if (scan.hasNextInt())
{
card1 = scan.nextInt();
}
else
{
fc1 = scan.next();
if (fc1 == "A")
{
card1 = 14;
}
else if(fc1 == "K")
{
card1 = 13;
}
else if (fc1 == "Q")
{
card1 = 12;
}
else if (fc1 == "J")
{
card1 = 11;
}
}
System.out.println("Second card: ");
if (scan.hasNextInt())
{
card2 = scan.nextInt();
}
else
{
fc2 = scan.next();
if (fc2 == "A")
{
card2 = 14;
}
else if (fc2 == "K")
{
card2 = 13;
}
else if (fc2 == "Q")
{
card2 = 12;
}
else if (fc2 == "J")
{
card2 = 11;
}
}
if (card1 == card2)
{
System.out.println("You have a pair.");
}
else
{
System.out.println("Are your cards suited?(y/n): ");
answer = scan.nextLine();
if (answer == "y")
{
if (card1 >12 && card2 > 12)
{
System.out.println("High value suited cards.");
}
else
if (card1 == card2++ || card1++ == card2)
{
System.out.println("Suited connectors.");
}
}
else
if(answer == "N")
{
if (card1 >=12 && card2 >= 12)
{
System.out.println("High value cards, hold.");
}
else
if(card1 > 5 && card2 > 5)
{
if(card1++ == card2 || card1 == card2++)
{
System.out.println("Connectors.");
}
else
{
System.out.println("Fold");
}
if (answer != "y" || answer != "n")
{
System.out.println("Invalid entry.");
}
}
}
}
}
}
с использованием равных() вместо == для сравнения строк/объектов. – kosa
Добро пожаловать в SO. Пожалуйста, прочитайте [FAQ] и [Ask] советы по написанию хороших вопросов SO. Пробовали ли вы запустить это в отладчике IDE и проследовать через один шаг за шагом, чтобы узнать, что происходит? Это должно быть вашим первым делом. В целом, отправляя кучу кода без каких-либо доказательств, вы предприняли попытку самостоятельно отлаживать его (т. Е. Рассказать нам, что вы сделали до сих пор), считается плохим. Кроме того, вы можете узнать, как организовать условия в инструкции switch. _. Я уверен, что вы могли бы, и это потребует всего несколько минут, чтобы прочитать инструкции 'switch'. –
, но что, если ответ будет либо «Y», либо «n»? –