Java Applet - Using Constructor To Populate Deck Of Cards Instead Of Method
Sep 14, 2014
I have two questions.
1 - I don't understand why I'm getting an empty stack error when calling the removecard method in my Table class line 13?
2 - I am trying to use a constructor to populate my deck of cards instead of a method when creating my theDeck object in my Table class line 11 but I get the following error:
java.lang.StackOverflowError
at java.util.Vector.<init>(Unknown Source)
at java.util.Vector.<init>(Unknown Source)
at java.util.Stack.<init>(Unknown Source)
at Deck.<init>(Deck.java:7)
at Deck.<init>(Deck.java:34)
Basically I started writing my code in one class, then I split it up into a Card class and a DeckOfCards class and I now need to figure out how to get it all to work together. I get a little confused with calling methods sometimes, especially when separate classes are in play. I think I just need a method to deal out . Besides getting it all working together correctly. I'm also having trouble creating the method to deal out five cards that also tells how many cards are left in the deck and I believe I need a toString method but I honestly do not know how to go about that.
Design and implement a class called Card that represents a standard playing card. Each card has a suit and a face value. Then create a class called DeckOfCards that stores 52 objects of the Card class. Include methods to shuffle the deck, deal a card and report the number of cards left in the deck. The shuffle methods should assume a full deck. Create a driver class (CardsGame) with a main method that deals five cards from the shuffled deck, printing each card as it is dealt. Make sure to write the appropriate constructors, getters, setters, toString and other methods as required for both classes.
The main class, CardsGame Class
import java.util.Scanner; public class CardsGame { public static void main (String [] args) { DeckOfCards deck = new DeckOfCards(); //call shuffle deck.shuffle();
I redid my entire code to use array-lists instead of just arrays my professor finally got back to me and said he doesn't want us to use lists. The assignment is to create a CardGame driver class, then create a "card" in a card class, then a "deck of cards" in a DeckOfCards class, shuffle, and deal 5 random cards and "deal a card and report the number of cards left in the deck". That last line in quotes is what I do not know how to do.
Also, I renamed a lot of variables via some suggestions and the assignments states "Make sure to write the appropriate constructors, getters, setters, toString and other methods as required for both classes." I think they're appropriate. Should I change some of he methods to better getters and setters identifiers?
Here is my code.
import java.util.Random; public class CardsGameTest { //execute application. public static void main(String[] args) { DeckOfCards myDeck = new DeckOfCards(); myDeck.shuffle(); //shuffle cards.
[code].....
The instructions also say to "print each card as it is dealt" does that mean 5 cards one at a time? Anyways, I was thinking that in the driver class I could add a for loop to the for loop and as it deals a card it could run through the second for loop and print how many cards are left in the deck.
I have an assignment for my summer class. Basically I started writing my code in one class, then I split it up into a Card class and a DeckOfCards class and I now need to figure out how to get it all to work together. I get a little confused with calling methods sometimes, especially when separate classes are in play. I think I just need a method to deal out . Besides getting it all working together correctly. I'm also having trouble creating the method to deal out five cards that also tells how many cards are left in the deck and I believe I need a toString method but I honestly do not know how to go about that. FYI, I think the prof would rather arrays then enums since we're dealing with arrays right now hence the array for the 52 card deck.
Here are the directions...
Design and implement a class called Card that represents a standard playing card. Each card has a suit and a face value. Then create a class called DeckOfCards that stores 52 objects of the Card class. Include methods to shuffle the deck, deal a card and report the number of cards left in the deck. The shuffle methods should assume a full deck. Create a driver class (CardsGame) with a main method that deals five cards from the shuffled deck, printing each card as it is dealt. Make sure to write the appropriate constructors, getters, setters, toString and other methods as required for both classes.
The main class, CardsGame Class
Java Code:
import java.util.Scanner; public class CardsGame { public static void main (String [] args) { DeckOfCards deck = new DeckOfCards(); //call shuffle deck.shuffle();
Assuming we have an array that is int[] cardDeck = new int[52] and each card is given a value with the following method; this deck does not include Jokers. Note: 11, 12, and 13 and used to represent Jacks, Queens, and Kings respectively, and 1 is used to represent Aces.
Java Code:
public static void loadDeck(int[] cardDeck) { for(int i = 0; i < cardDeck.length; i++) { if(i+1 > 39) cardDeck[i] = i+1-39; else if(i+1 > 26)
I have red underlines under "Card" and "cards" in my Deck class and "deal" in my driver and i don't know how to fix them to get it to properly run.
Card Class:
Java Code:
public class Card { public final static int ACE = 1; // note: or use enumerated types public final static int TWO = 2; public final static int THREE = 3; public final static int FOUR = 4; public final static int FIVE = 5; public final static int SIX = 6; public final static int SEVEN = 7;
I am trying to make a program that will make a deck of 52 cards, but not shuffle it. I can't get rid of the errors in the code that I have so far.
Java Code:
public class Deck { private Card[] deck; private int cardsUsed; public Deck() { deck = new Card[52]; int cardCt = 0; for ( int suit = 0; suit <= 3; suit++ ) { for ( int value = 1; value <= 13; value++ ) { deck[cardCt] = new Card(value,suit); cardCt++; } } cardsUsed = 0; } } mh_sh_highlight_all('java');
I am getting red squiggly lines on lines:
#3 under "Card" #8 under "deck" and "Card" #12 under "deck" and "Card"
I am trying to assign random numbers to a deck of cards without repeating the numbers. What am I doing wrong?
package hokm; import java.util.Random; import java.util.Scanner; public class Hokm { public static void main(String[] args) { int [][] number=new int[52][2];
I am creating a deck of 52 cards each with their rank(1 2 3...King, Ace) and suit(Clubs... Spades).
I want to be able to print out value of each card after creating them such as - 2 of CLUBS and so on. I am able to do that now. Only problem is, when it comes to the picture cards, I am representing them with numbers 11(Jack), 12(Queen) 13(King) and 14(Ace). I can't quite get around to changing the numbers to be represented as the actual words (King and so on).
I imagine that I should store the jack,queen,king,ace values in an enum too and call it in my loop but can't quite get it. Should I have like a 3rd for loop in my following codes to make it work?
Java Code:
//My main method. The Card class follows below
public static void main(String[] args) { Card[] cards = new Card[52]; int i = 0; for (Card.Suits suit : Card.Suits.values()) { for (int y = 2; y < 15; y++) { cards[i] = new Card(y, suit.name()); i++;
"In this assignment you will use an applet to display images of playing cards. The applet should load a deck of 52 playing card images from the "images" folder that you downloaded. The applet should shuffle the deck (use a random number generator) and display the first 10 cards of the shuffled deck. Display the cards in two rows of five cards each."
That is my goal for this assignment. I've got my code compiling and I will post it below and I've got an html page but when I try to open it I get an error
import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; import java.util.Random; public class Assignment12 extends Applet { Image card1; Image card2;
So I'm trying to make an applet that displays images of cards. The applet has a deck of 52 playing card images. It should shuffle the deck with a random number generator and display the first 10 cards of the shuffled deck.
With this code I have about 100 errors and I'm not sure what I'm doing wrong: I know I have to use arrays in order to ultimately display the images, but do I have to create Image objects for the Image [] cards array? I am getting many "class, interface, enum expected" errors as well as others.
import java.util.Random; import java.awt.Image; import java.applet.Applet; import java.awt.Graphics; public class unit12 extends Applet {
So I'm trying to make an applet that displays images of playing cards. The applet should load a deck of 52 playing card images (the folder is called "images"). The applet should shuffle the deck (using a random number generator) and display the first 10 cards of the shuffled deck. I then have to display the cards in two rows of five cards each.
With this code I have about 100 errors and I'm not sure what I'm doing wrong:
The experiments will slowly converge towards one big experiment: a simple game. I have just a little interest in games (perhaps I should have more), but making one - even a simple one - should be self rewarding.
However, now to the point.
* The experiment creates an array of rectangle objects. * The rectangles are painted inside a Frame object at random x,y coords generated by a random number generator * The rectangles are stationary. * The rectangles are each assigned their own random colour. * The array of rectangle objects is created inside the constructor of the class.
The actual code contains various other variables and methods which would distract from a quick analysis, so below is code which has the same logical structure which also fails (instead of array of rectangles, I have used arrays of integers).
import java.util.Random; /** * Experiment 14 - see if it works simply - (with integer arrays) */ public class TestingArrays { // instance variables int N = 10; // the size of the array - 10 elements int[] a;
I have a string of variable tags (tag) filled with variables, and using a Scanner (scan) to manipulate and generate data dictionary add cards for each. The variables are delimited with new line character, and the variables are structured such that the actual name of the variable contains info as to its data type, size, etc. What I need to do is move the scanner to a particular point into the string then use .nextInt() or similar. I don't want to do this to the whole variable, just where I start it from. How can I do this?
Scanner scan = new Scanner( tag ); int ptr = tag.indexOf( "_" ); ptr++; if ( Character.toLowerCase( tag.charAt( ptr ) ) == 's' ) // then start at the "_" character and grab the nextInt()
I need to create an applet that displays a grid of command buttons which I have done. I then need to create a new class that draws a silly picture of an alien, which I have also done. Where I am completely stuck and confused, is that I do not know how to get the drawing into the applet. My code is below. I really do not fully understand why this is not working or how to get it working.
import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MartianGame extends JApplet implements ActionListener { DrawMartian aMartian = new DrawMartian(); DrawJupiterian aJupiterian = new DrawJupiterian();
I am having an issue with a small part of my project. i am supposed to make a hash table with a file containing words. The file is being passed into my constructor, where i basically just all it "filename" of type string. Im supposed to get the contents of the file and put it into the table. the problem I'm having is making the connection between my constructor and a method called "start" which basically does all the work. Im not sure how to go by doing this, how could i use the variable "filename" from my constructer in my start method?:
import java.io.*; import java.util.*; public class WordCount { //private fields, including your HashMap variable HashMap<String,Object> hmap =new HashMap<String,Object>();//(table size,load factor) public WordCount( String infileName){ String filename =infileName;
So, this is weird for me because I don't really understand why the BorderLayout class constructor is being initialized as a parameter for the setLayout..
public Polygon polygonFrom(Point[] corners) { // method body goes here }
So from what I understand this is a constructor method for a Polygon object from the Polygon class. What I dont get is the name of the method polygonFrom()
Shouldn't a constructor for a Polygon just have the same name as the class? Because from earlier examples in the tutorial it seems to me that this is what has been done
For example:
public Bicycle(int startCadence, int startSpeed, int startGear) { gear = startGear; cadence = startCadence; speed = startSpeed; }
I have been trying to get this code to work but in jGrasp it give the no main method, applet, or IMDlet. The assignment states: Design a class Message that models an e-mail message. A message has a recipient, a sender, and a message text. Support the following methods:
-A constructor that takes the sender and recipient -A method append that appends a line of text to the message body a method toString that makes the message into one long string like this:
"From:Harry Morgan To: Rudolf Reindeer. . ."
Write a program that uses this class to make a message and print it. package emailmodel;
import java.util.Scanner; public class Message { private String senderemail; private String receiveremail;
i am trying to create an applet with drop-down lists. When I compile the program the following error message appears '. . .is not abstract and doesn't override abstract method action Performed. . . Here is my code . . .
import java.awt.*; import java.awt.event.*; import java.applet.*; public class DavidApplet extends Applet implements ActionListener //class header { Label fName=new Label("First Name");
I don't understand, why when in the constructor of the superclass A the method init() is called (line 4), the overridden version of the subclass is invoked (line 26) and not the superclass version (line 7):
class A { public A () { init(); } public void init() { System.out.println("test");
[Code] ....
I would have guessed that above code prints
test 1
But instead you get a NPE (because when the constructor of B is invoked
public static void main(String[] args) { new B(); }
Then there is first the implicit call to super:
public B() { s = " "; init(); }
Which is the constructor of A:
public A () { init(); }
But here now this init() method is not the version of A ( public void init() { System.out.println("test"); }) but the overriden version of the subclass (B): public void init() { System.out.println(s+=s.length()); }...
Which throws an NPE of course, because the initialization of s has not occured yet (it happens only after the implicit call to super() has finished (see public B() { s = " "; init(); }))
I'm using jdk7 and I get this error when I compile Exception in thread "main" java.lang.Error: Unresolved compilation problem: at First.main(First.java:16)