2017-06-14 12 views
-4
int sum = 0; 
    for (int i = 0; i < 5; i++) { 
     Card c = deck.deal(); 
     System.out.println("Got card " + c.getName()); 
     sum += c.getValue(); 
    } 

私はラインCard c = deck.deal();を理解していません。 カードは別のクラスですが、デッキはmain()のオブジェクトで、deal()は別のクラスです。クラス名のオブジェクトを宣言する

import java.util.Random; 

public class Deck { 

    int Cnumb; 
    int Cname; 
    String cardName[] = new String[5]; 
    int cardNum[] = new int[14]; 


    public void init(){ 
     cardName[0] = ""; 
     cardName[1] = "Heart's"; 
     cardName[2] = "Diamond's"; 
     cardName[3] = "Spade's"; 
     cardName[4] = "Club's"; 

     cardNum[0] = 0; 
     cardNum[1] = 1; 
     cardNum[2] =2; 
     cardNum[3] =3; 
     cardNum[4] =4; 
     cardNum[5] =5; 
     cardNum[6] =6; 
     cardNum[7] =7; 
     cardNum[8] =8; 
     cardNum[9] =9; 
     cardNum[10] =10; 
     cardNum[11] =11; 
     cardNum[12] =12; 
     cardNum[13] =13; 

    } 

    public void shuffle(){ 

     Random rnd = new Random(); 


     // Random Card 
     Cnumb = rnd.nextInt(Integer.MAX_VALUE) % 13; 
     Cnumb = Cnumb + 1; 

     Cname = rnd.nextInt(Integer.MAX_VALUE) % 4; 
     Cname = Cname + 1; 

    } 

     public Card deal(){ 
     String Suit = cardName[Cname]; 
     int Rank = cardNum[Cnumb]; 
     //return ; // here is the problem  
    } 

} 
+1

私たちが見ることができないコードを推測するようにお願いしています。おそらく、残りのコードは利用可能です。それを読んで、それが何をしているのかを見てください。 –

+0

エラーがありますか?あなたは本当に質問でそう言っていたはずです。 –

答えて

0

カードが正しいです。このコード行は、カードオブジェクトを返す:

deck.deal(); 

デッキは、すべてのカードを含む別のクラスであり、それは単一のカードを戻す取引と呼ばれる方法を含んでいます。

編集:あなたは、あなたの方法deal()はカードobjectを返すように書かれている二つの問題を持っていますが、あなたはstringsarrayとしてカードを宣言しました。それはエラーを引き起こすだろう。

+0

はい、私はデッキクラスの戻り値型に問題があります。 –

+0

@ AashishParbagga-編集 –

0

のクラスはDeckクラスのメソッドdealで返されているようです。あなたが求めているものを正確に見ることはできませんが、これは何が起こっているのかの基本的な説明です。

オブジェクト指向プログラミングの仕組みについて詳しく知りたい方は、Brian Willの優れたチュートリアルをご覧ください。YouTube Video

+0

を参照してください。多分、これはエラーを表示し続ける戻り値のタイプと混乱しています。 –

+0

ああ、エラー?そのエラーとは何か、戻り値の型が何であるかを知らせるべきです。 –

+0

それは文字列がカードに変換されないことを示します –

関連する問題