I am writing an applet that will randomly pick 10 cards and show them on the screen. However, I am receiving a .class error and a ; needed error when I attempt to pass an String[]. Anyone help? This is my code:
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Image;
import java.applet.Applet;
import java.lang.Math;
import java.util.Random;
public class unit12Assignment extends Applet
{
Image card1 ... card52;
public void init()
{
card1 = getImage( getDocumentBase(), "c1.gif" );
...
card52 = getImage( getDocumentBase(), "sk.gif" );
}
public void getCards()
{
String cardNumber;
double cardRandom;
int cardRandomNumber;
String[] cardSelection = new String[10];
Random ran = new Random();
for (int number = 0; number <= 9; )
{
cardRandom = ran.nextInt(52) + 1;
cardRandomNumber = (int) Math.round( cardRandom );
if ( cardRandomNumber > 0 && cardRandomNumber <= 52 )
{
cardNumber = "card" + cardRandomNumber;
number++;
}
}
paint( String[] cardSelection );
}
public void paint(Graphics g, String[] card)
{
setBackground( Color.green );
g.drawImage( card[0], 10, 10, this);
g.drawImage( card[1], 90, 10, this);
g.drawImage( card[2], 170, 10, this);
g.drawImage( card[3], 250, 10, this);
}
}
This line:
should syntactically be
You only need to write the type (for example
String[]) before a variable when you first declare it. From there it can just be referred to by its name.I also notice that
painttakes aGraphicsargument as well as aString[], so you’ll need to pass that in as well:EDIT: see Andrew Thompson’s answer for a disclaimer on using
Graphicswith an alternative solution.