请帮助我理解为什么我写的布尔方法没有正确返回。我要求用户输入一系列要存储在检查重复项的数组中的整数。
import java.util.Scanner;
public class PokerHands
{
public static void main(String args[])
{
System.out.println(containsPair(welcome()));
} // end main
private static int[] welcome()
{
Scanner read = new Scanner(System.in);
int[] poker_array = new int[5];
System.out.println("Enter five numeric cards, no face cards. Use 2-9: ");
for (int i = 0; i < 5; i++) {
System.out.printf("Card %d: ", i + 1);
int nums = read.nextInt();
while (nums < 2 || nums > 9) {
System.out.println("Wrong input. Choose from 2-9 only: ");
nums = read.nextInt();
} // end while
poker_array[i] = nums;
}
for (int i = 0; i < poker_array.length; i++) {
System.out.print(poker_array[i] + ", ");
}
return poker_array;
} // end welcome()
private static boolean containsPair(int hand[])
{
for (int i = 0; i < hand.length; i++) {
for (int j = 0; j < hand.length; j++) {
if (hand[i] == hand[j]) {
return true;
} // end if
} // end inner for
} // end outer for
return false;
} // end containsPair()
} //end class
输出:$ java PokerHands
输入五张数字卡片,没有人脸卡片。使用 2-9:
卡片 1:2
卡片 2:3
卡片 3:4
卡片 4:5
卡片 5:6
2, 3, 4, 5, 6, 真
$ java PokerHands 输入五张数字牌,无面牌。使用 2-9:
卡片 1:2
卡片 2:2
卡片 3:3
卡片 4:4
卡片 5:5
2, 2, 3, 4, 5, 真
$ java PokerHands
输入五张数字卡片,没有人脸卡片。使用 2-9:
卡片 1:2
卡片 2:2
卡片 3:2
卡片 4:2
卡片 5:2
2, 2, 2, 2, 2, 真
万千封印
MMMHUHU
白板的微信
相关分类