2017-06-14 20 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(); 
    } 

Ich verstehe nicht die Zeile Card c = deck.deal();. Karte ist eine andere Klasse, Deck ist ein Objekt in der main(), deal() ist in einer anderen Klasse.Deklarieren eines Objekts mit dem Namen der Klasse

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

Sie fragen uns, welchen Code wir nicht sehen können. Vermutlich haben Sie den Rest des Codes für Sie verfügbar. Lies es und sieh, was es macht. –

+0

Also gibt es einen Fehler? Das hättest du wirklich in der Frage sagen sollen. –

Antwort

0

Karte ist eine Klasse, Sie haben Recht. Diese Codezeile gibt ein Kartenobjekt:

deck.deal(); 

Deck eine andere Klasse, die alle Karten umfasst, und es enthält eine Methode namens Deal, der eine einzelne Karte zurückgibt.

Edit: Sie haben zwei Probleme, Ihre Methode deal() geschrieben ist eine Karte object zurückzukehren, aber Sie haben Karte als array von strings erklärt. Es wird einen Fehler verursachen.

+0

jawohl, aber ich habe ein Problem mit dem Rückgabetyp in der Deck-Klasse .. –

+0

@ AashishParbagga-Siehe bearbeiten –

0

Es scheint, dass die Klasse Card von der Methode in der Deck Klasse zurückgegeben wird, die deal genannt wird. Wir können nicht genau sehen, wonach Sie fragen, aber dies ist eine grundlegende Erklärung dessen, was vor sich geht.

Wenn Sie weitere Informationen zur Funktionsweise der objektorientierten Programmierung benötigen, finden Sie hier ein hervorragendes Tutorial von Brian Will: YouTube Video.

+0

vielleicht hilft dies ich bin mit dem Rückgabetyp verwirrt, wie es zeigt den Fehler .. –

+0

Oh, es zeigt weiter ein Fehler? Was ist das für ein Fehler? Es sollte Ihnen sagen, was der Rückgabetyp ist. –

+0

es sagt String kann nicht in Karte umgewandelt werden –

Verwandte Themen