-1

私は完全に動作していたJavaプログラムを持っていますが、どういうわけか、時間外に失敗しました。方法も理由もよくわからないので、新しい目が問題を解決するのに役立つことを願っています. 助けてください、ありがとう!プログラムは、デックからランダムに 5 枚のカードを出力する単純な「ポーカー」コードです。

プログラムは最初に実行したときは機能していましたが、何らかの奇妙な理由で実行できなくなりました。

I keep getting the errors...
"cannot resolve symbol rank.length",
"cannot resolve symbol suit.length",
"Package java.Random does not exist"

プログラム:

import java.Random.*;
import java.io.*;
import java.util.*;

public class Poker {

    public static void main(String[] args) {

        //initialize variables
        int suits = suit.length;
        int ranks = rank.length;
        int n = suits * ranks;
        //counter
        int m = 5;

         // create a deck of 52 cards
         String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
         String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "10",
                           "Jack", "Queen", "King", "Ace"
                         };


         // initialize deck
         String[] deck = new String[n];
         for (int i = 0; i < ranks; i++) { 
             for (int j = 0; j < suits; j++) { 
                 deck[suits*i + j] = rank[i] + " of " + suit[j]; 

         }
         }

        // create random 5 cards
        for (int i = 0; i < m; i++)  {
            int r = i + (int) (Math.random() * (n-i));
            String t = deck[r];
            deck[r] = deck[i];
            deck[i] = t;
        }

        // print results
        for (int i = 0; i < m; i++){
            System.out.println(deck[i]);

        }        
    }
}
4

3 に答える 3

3

シンボル rank.length を解決できません

rank.lengthこれは、宣言する前にアクセスしようとするためですrank

試す:

//first declare arrays
// create a deck of 52 cards
String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "10",
                   "Jack", "Queen", "King", "Ace"
                 };

//then find out their length
int suits = suit.length;
int ranks = rank.length;
int n = suits * ranks;
//counter
int m = 5;

パッケージ java.Random が存在しません

そうです、そうではありませimport java.util.Randomimport java.Random.*java.Randomパッケージは存在しません。

于 2013-10-01T22:27:12.900 に答える
0

まず、パッケージjava.Randomは実際には存在しません。Randomとにかくどこで使用しているのかわかりませんので、その import ステートメントを削除してください。を使用していたとしてもRandom、既に でインポートしていjava.util.*ます。

他の 2 つのエラーについては、参照している変数 (suitおよびrank) を使用後に宣言しました。使用する前に宣言してください。

于 2013-10-01T22:29:25.030 に答える
0
  int suits = suit.length;
  int ranks = rank.length;
  int n = suits * ranks;

the above lines should be placed below

String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "10",
                           "Jack", "Queen", "King", "Ace"
                };

also remove import java.Random.* 
于 2013-10-01T22:30:31.597 に答える