Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在某些数组索引上放置条件_Java - Fatal编程技术网

Java 如何在某些数组索引上放置条件

Java 如何在某些数组索引上放置条件,java,Java,所以我正在做一个学校作业,我需要用java做一个随机卡片生成器,我需要洗一副牌,画一张5的牌,我已经做了,现在我需要打印我手中的牌,这些牌的值高于9,我已经在这一部分挣扎了好几天,所以如果有人能帮我的话,这会很神奇 这是我的密码: package arrays.assignment.pkg1; import java.util.Arrays; import java.util.Random; import javax.swing.JOptionPane; public class Arrays

所以我正在做一个学校作业,我需要用java做一个随机卡片生成器,我需要洗一副牌,画一张5的牌,我已经做了,现在我需要打印我手中的牌,这些牌的值高于9,我已经在这一部分挣扎了好几天,所以如果有人能帮我的话,这会很神奇

这是我的密码:

package arrays.assignment.pkg1;
import java.util.Arrays;
import java.util.Random;
import javax.swing.JOptionPane;

public class ArraysAssignment1 {

public static void main(String[] args) {
int[] deck = new int[52];
String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
"Jack", "Queen", "King"};

// Initialize cards
for (int i = 0; i < deck.length; i++) {
  deck[i] = i;
}

// Display the all the cards
for (int i = 0; i < 52; i++) {
    String suit = suits[deck[i] / 13];
    String rank = ranks[deck[i] % 13];
    System.out.println( rank + " of " + suit);
}
// Shuffle the cards
for (int i = 0; i < deck.length; i++) {
  int index = (int)(Math.random() * deck.length);
  int temp = deck[i];
  deck[i] = deck[index];
  deck[index] = temp;
}
    System.out.println("your deck consists of\n");


System.out.println("\n\nin your hand, you have\n");

// Display 5 cards
for (int i = 0; i <5;i++) {
    String suit = suits[deck[i] / 13];
    String rank = ranks[deck[i] %13];
    System.out.println( rank + " of " + suit);
}
    //Display the cards that are greater than 9
    System.out.println("\nThe cards in your hand that are greater than 9 are\n");
    for (int i = 0; i <5;i++) {
    if(deck[i] > 9) {

        System.out.println(rank + " of " + suit);
    }
}
}
package arrays.assignment.pkg1;
导入java.util.array;
导入java.util.Random;
导入javax.swing.JOptionPane;
公共类阵列分配1{
公共静态void main(字符串[]args){
int[]甲板=新int[52];
字符串[]套装={“黑桃”、“红桃”、“钻石”、“梅花”};
字符串[]排名={“Ace”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”,
“杰克”、“女王”、“国王”};
//初始化卡
对于(int i=0;i对于(inti=0;i首先,我想指出,如果您创建一个
Card
类,那么您的代码会简单得多

private Class card{
private int Value;
private String Suit;

public card (String suit, int value) {
 Suit = suit;
 Value = value;
}

public int getValue(){
return Value;
} 

public String getSuit(){
return Suit;
}
}
然后,您可以将所有这些卡存储在
Card[5]Hand
Card[52]Deck

重复你的手并说

if(Hand[i].getValue > 9){
 //do whatever you want to do here
}
改变

for (int i = 0; i <5;i++) {
  if(deck[i] > 9) {
      System.out.println(rank + " of " + suit);
  }
}
for(int i=0;i 9){
系统输出打印项次(等级+“+诉讼”;
}
}
致:

for(int i=0;i 9){
系统输出打印项次(等级+“+诉讼”;
}
}

我试过了,它给出了一组完全不同的值,我希望它从我的手上打印出来。这是错误的答案,因为
deck[i]%13
不代表等级,即卡片值。请联系你的老师。你根本不了解一个关键概念。
for (int i = 0; i <5;i++) {
  String suit = suits[deck[i] / 13];
  String rank = ranks[deck[i] %13];
  if(deck[i] %13 > 9) {
      System.out.println(rank + " of " + suit);
  }
}