Cannot find symbol error - ArrayList problem
Hey guys,
I'll post the code, and then the error message below. Essentially I'm getting an error message on the add and it's a bit confusing, since I've imported ArrayList and add is a method in there as well.
My question: What am I missing? If someone could post what I'm missing, I'd appreciate it. No trolls please.
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Iterator;
public class CDCollection {
private ArrayList collection = null;
private double totalCost;
// Constructor: Creates an initially empty collection.
public CDCollection() {
collection = new ArrayList(100);
totalCost = 0.0;
// Adds a CD to the collection, increasing the size of the
// collection if necessary.
public void addCD(String title, String artist, double cost, int tracks) {
collection.add(new CD(title, artist, cost, tracks));
totalCost += cost;
// Returns a report describing the CD collection.
public String toString() {
NumberFormat fmt = NumberFormat.getCurrencyInstance();
String report = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
report += "My CD Collection\n\n";
report += "Number of CDs: " + collection.size() + "\n";
report += "Total cost: " + fmt.format(totalCost) + "\n";
if (collection.size() != 0) {
report += "Average cost: " + fmt.format(totalCost / collection.size());
report += "\n\nCD List:\n\n";
report += CDCollection.createReport(collection);
return report;
* @param al
* @return
public static String createReport(ArrayList al) {
StringBuffer sb = new StringBuffer();
Iterator iter = al.iterator();
while (iter.hasNext()) {
CD aCD = (CD) iter.next();
sb.append(aCD.toString());
sb.append(System.getProperty("line.separator"));
return sb.toString();
} and the error message:
CDCollection.java:36: cannot find symbol
symbol: method add(CD)
location: class java.util.ArrayList<java.lang.String>
collection.add(new CD(title, artist, cost, tracks));
Any help would be very appreciated folks.
nm, figured it out, sorry guys.
For those reading to figure out their own answer to a similar problem....
Private ArrayList <CD> collection = null;and
public CDCollection(){
ArrayList <CD> collection = new ArrayList <CD> (100);
Similar Messages
-
Need help with class info and cannot find symbol error.
I having problems with a cannot find symbol error. I cant seem to figure it out.
I have about 12 of them in a program I am trying to do. I was wondering if anyone could help me out?
Here is some code I am working on:
// This will test the invoice class application.
// This program involves a hardware store's invoice.
//import java.util.*;
public class InvoiceTest
public static void main( String args[] )
Invoice invoice1 = new Invoice( "1234", "Hammer", 2, 14.95 );
// display invoice1
System.out.println("Original invoice information" );
System.out.println("Part number: ", invoice1.getPartNumber() );
System.out.println("Description: ", invoice1.getPartDescription() );
System.out.println("Quantity: ", invoice1.getQuantity() );
System.out.println("Price: ", invoice1.getPricePerItem() );
System.out.println("Invoice amount: ", invoice1.getInvoiceAmount() );
// change invoice1's data
invoice1.setPartNumber( "001234" );
invoice1.setPartDescription( "Yellow Hammer" );
invoice1.setQuantity( 3 );
invoice1.setPricePerItem( 19.49 );
// display invoice1 with new data
System.out.println("Updated invoice information" );
System.out.println("Part number: ", invoice1.getPartNumber() );
System.out.println("Description: ", invoice1.getPartDescription() );
System.out.println("Quantity: ", invoice1.getQuantity() );
System.out.println("Price: ", invoice1.getPricePerItem() );
System.out.println("Invoice amount: ", invoice1.getInvoiceAmount() );
and that uses this class file:
public class Invoice
private String partNumber;
private String partDescription;
private int quantityPurchased;
private double pricePerItem;
public Invoice( String ID, String desc, int purchased, double price )
partNumber = ID;
partDescription = desc;
if ( purchased >= 0 )
quantityPurchased = purchased;
if ( price > 0 )
pricePerItem = price;
public double getInvoiceAmount()
return quantityPurchased * pricePerItem;
public void setPartNumber( String newNumber )
partNumber = newNumber;
System.out.println(partDescription+" has changed to part "+newNumber);
public String getPartNumber()
return partNumber;
public void setDescription( String newDescription )
System.out.printf("%s now refers to %s, not %s.\n",
partNumber, newDescription, partDescription);
partDescription = newDescription;
public String getDescription()
return partDescription;
public void setPricePerItem( double newPrice )
if ( newPrice > 0 )
pricePerItem = newPrice;
public double getPricePerItem()
return pricePerItem;
Any tips for helping me out?System.out.println("Part number:
"+invoice1.getPartNumber;
The + sign will concatenate invoice1.getPartNumber()
after "Part number: " forming only one String.I added the plus sign and it gives me more errors:
C:\>javac InvoiceTest.java
InvoiceTest.java:16: operator + cannot be applied to java.lang.String
System.out.println("Part number: ", + invoice1.getPartNumber() );
^
InvoiceTest.java:17: cannot find symbol
symbol : method getPartDescription()
location: class Invoice
System.out.println("Description: ", + invoice1.getPartDescription() );
^
InvoiceTest.java:17: cannot find symbol
symbol : method println(java.lang.String,int)
location: class java.io.PrintStream
System.out.println("Description: ", + invoice1.getPartDescription() );
^
InvoiceTest.java:18: cannot find symbol
symbol : method getQuantity()
location: class Invoice
System.out.println("Quantity: ", + invoice1.getQuantity() );
^
InvoiceTest.java:18: cannot find symbol
symbol : method println(java.lang.String,int)
location: class java.io.PrintStream
System.out.println("Quantity: ", + invoice1.getQuantity() );
^
InvoiceTest.java:19: cannot find symbol
symbol : method println(java.lang.String,double)
location: class java.io.PrintStream
System.out.println("Price: ", + invoice1.getPricePerItem() );
^
InvoiceTest.java:20: cannot find symbol
symbol : method println(java.lang.String,double)
location: class java.io.PrintStream
System.out.println("Invoice amount: ", + invoice1.getInvoiceAmount() );
^
InvoiceTest.java:24: cannot find symbol
symbol : method setPartDescription(java.lang.String)
location: class Invoice
invoice1.setPartDescription( "Yellow Hammer" );
^
InvoiceTest.java:25: cannot find symbol
symbol : method setQuantity(int)
location: class Invoice
invoice1.setQuantity( 3 );
^
InvoiceTest.java:30: operator + cannot be applied to java.lang.String
System.out.println("Part number: ", + invoice1.getPartNumber() );
^
InvoiceTest.java:31: cannot find symbol
symbol : method getPartDescription()
location: class Invoice
System.out.println("Description: ", + invoice1.getPartDescription() );
^
InvoiceTest.java:31: cannot find symbol
symbol : method println(java.lang.String,int)
location: class java.io.PrintStream
System.out.println("Description: ", + invoice1.getPartDescription() );
^
InvoiceTest.java:32: cannot find symbol
symbol : method getQuantity()
location: class Invoice
System.out.println("Quantity: ", + invoice1.getQuantity() );
^
InvoiceTest.java:32: cannot find symbol
symbol : method println(java.lang.String,int)
location: class java.io.PrintStream
System.out.println("Quantity: ", + invoice1.getQuantity() );
^
InvoiceTest.java:33: cannot find symbol
symbol : method println(java.lang.String,double)
location: class java.io.PrintStream
System.out.println("Price: ", + invoice1.getPricePerItem() );
^
InvoiceTest.java:34: cannot find symbol
symbol : method println(java.lang.String,double)
location: class java.io.PrintStream
System.out.println("Invoice amount: ", + invoice1.getInvoiceAmount() );
^
16 errors -
Cannot find symbol error. don't know why
Hello, I'm trying to write a button bean in the shape of a triangle but netbeans keeps throwing up a cannot find symbol error at my g.fillPolygon line. I've declared the number of sides and x and y coords.
Any ideas as to why this is happening would be greatly appreciated.
Here's the code:
package trianglebutton;
import java.util.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class TriangleButtonBean extends JButton implements Serializable
private TriangleButtonBean graphicPolygon;
private Color buttonColour;
private Color textColour;
private String caption;
private int sides = 3;
private int size = 30;
private int centerX = 100;
private int centerY = 100;
public TriangleButtonBean()
super();
setPreferredSize(new Dimension(50,50));
setBorder(null);
buttonColour = Color.red;
textColour = Color.black;
caption = "";
public TriangleButtonBean(String acaption)
super();
setPreferredSize(new Dimension(50,50));
setBorder(null);
caption = acaption;
public void paintComponent(Graphics g)
String astring;
super.paintComponent(g);
g.setColor(buttonColour);
int centerX = graphicPolygon.getCenterX(); //Invoking getCenterX method
int centerY = graphicPolygon.getCenterY(); //Invoking getCenterY method
//int Xcoordinates [] = graphicPolygon.getPolygonXCoordinates(sides,size);
//int Ycoordinates [] = graphicPolygon.getPolygonYCoordinates(sides,size);
g.drawPolygon(centerX,centerY, sides); //Draw polygon using xcoord,ycoord and number of sides
g.fillPolygon(centerX,centerY, sides); //Fill poly
g.setColor(textColour);
if (caption.length() > 1)
astring = caption.substring(0,1);
else
astring = caption;
g.drawString(astring,22,27);
public void setButtonColour(Color acolour)
buttonColour = acolour;
repaint();
public Color getButtonColour()
return buttonColour;
public void setTextColour(Color acolour)
textColour = acolour;
repaint();
public Color getTextColour()
return textColour;
public void setCaption(String acaption)
caption = acaption;
repaint();
public String getCaption()
return caption;
// public void setCenterX(int xcoords)
// centerX = xcoords;
public int getCenterX()
return centerX;
// public void setCenterY(int ycoords)
// centerY = ycoords;
public int getCenterY()
return centerY;
public static void main(String[] args){
TriangleButtonBean agui = new TriangleButtonBean();
} // End of classPlease READ, STUDY, and UNDERSTAND the error messages, they are telling you exactly what the problem is:
. . .\TriangleButtonBean.java:56: cannot find symbol
symbol : method drawPolygon(int,int,int)
location: class java.awt.Graphics
g.drawPolygon(centerX,centerY, sides); //Draw polygon using xcoord,ycoord and number of sides
^
. . .\TriangleButtonBean.java:57: cannot find symbol
symbol : method fillPolygon(int,int,int)
location: class java.awt.Graphics
g.fillPolygon(centerX,centerY, sides); //Fill poly
^
2 errors
Process javac exited with code 1In both cases the messages ar telling you that the methods
drawPolygon(int,int,int)
method fillPolygon(int,int,int)
can't be found in java.awt.Graphics
And if you look at the documentation, you see that is indeed the problem - the first two arguments are int arrrays, not int.
Fix the method signature or use something else. -
Please help with cannot find symbol error. Been struggling all day :(
Hi all. :)
Writing a game for my phone with KToolbar and have been getting a cannot find symbol error for every variable and method I try to use across Classes. I've looked all over and though it seems a common problem I always either don't understand or can't get working the various solutions. Example of my errors:
C:\...\BTK800i.java:197: cannot find symbol
symbol : variable youSayWhat
location: class HelloCanvas
youSayWhat=key;
^
If I try BTK800i.variable or BTK800i.message I get a new error.
C:\...\src\BTK800i.java:184: non-static method newOrdersSarge() cannot be referenced from a static context
BTK800i.newOrdersSarge();
^
Both these errors apply to both variables and methods. It only happens when I'm using methods/variables of one class in another, am I using public and private incorrectly? It doesn't seem to make a difference if I make variables public or leave them private, I'm trying to get to them with a public method within a private class. Is it something else? I really have no idea. :(
Here's my code, it's long enough to be a tiresome read so I've tried to skip what I know isn't relevant.
public class BTK800i extends MIDlet {
private Display myDisplay;
private HelloCanvas myCanvas;
public int youSayWhat;
//a whole bunch more skipped here, but I'm fairly certain it's not anything that'll help find a solution
public BTK800i() {
paused=false;
public void startApp() throws MIDletStateChangeException {
if( paused ) {
myCanvas.repaint();
else {
myDisplay=Display.getDisplay(this);
myCanvas=new HelloCanvas();
myDisplay.setCurrent(myCanvas);
myCanvas.setFullScreenMode(true);
youSayWhat=0;
//again with the skipping, more code not related
public void newOrdersSarge() {
//whole bunch of code
//other methods skipped
class HelloCanvas extends Canvas {
public void keyPressed (int key) {
youSayWhat=key;
repaint ();
//skippage
}The stuff I skipped is mainly either more of the same sorta thing or maths/writing to screen stuff.
Thanks alot to anyone who helps. I'm really struggling with this. :(
Dan.But I have been reading them :(
My next-door neighbour unfortunately is an 80-something married man, but I will go have a looksie about static and instances.
I thought the point of public variables was that other classes could use them, is this wrong?
Also does this mean that to use the variables from my BTK class in the HelloCanvas class I need to first instantiate BTK? I don't understand how that works as the code starts running from the BTK class in the first place :S I guess more reading will help with this.
Thanks very much for replying. :)
Edit:
OK I have read up on it but I don't think I found anything I hadn't read before. I tried to make a new class which I could instantiate to hold all the variables and methods I wanted everything to be able to access, but that went disastrously. Am I right in understanding that there are no global variables in Java? :s
Edited by: Dan69 on Apr 17, 2010 1:15 PM -
Unable to compile "SerialDemo.java", many "cannot find symbols" errors
I have all the correct files in their respective directory.
comm.jar in jre\lib\bin,
javax.comm.properties in jre\lib
win32com.dll in jre\bin
I extracted all the whole of SerialDemo into one folder and started compiling from there. But it doesn't work. I keep getting many "cannot find symbol" errors. They are usually referred to by:
SerialParameters
SerialConnection
AlertDialog
SerialConnectionException
SerialDemo.java is not edited and was compiled directly. All of my files are in one folder (AlertDialog.java compiles fine and is in the same folder, etc)
I was wondering what might be the cause of it. I'm currently using a Windows XP Service Pack 2, IBM P3 Laptop. I was reading "http://forum.java.sun.com/thread.jspa?threadID=674514&messageID=3941560"
And I found out it works fine on Win2k OS. Why is this so? I'm getting the exact same error as he stated on his last post and I tried looking for a solution and decided to turn to you guys. I'd really appreciate some help, if any. Thanks in advance.I followed the PlatformSpecific. I realised that I
added one for JRE when it wasn't required. The
problem was solved.
Thank you so much, the both of you. My stupid mistake
caused quite a bit of havoc. I apologise.No need to apologise; The confusing part is that when you download
a jre, that's just what your get: a jre, but when you download the jdk
you not just get the jdk and the jre but you get a second jre with them,
stored under the jdk directory.
To the programmer that second jre is useless, it is used internally by
the jdk tools.
kind regards,
Jos -
Help! Getting the cannot find symbol error.
Hello everyone. I have gone throught my whole program and I am still getting a cannot find symbol error. What does this error mean exactly? Here is the code below. I am trying to color a background using a comobox method.
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import java.awt.GridLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JComboBox;
public class ComboboxFrame extends JFrame
public ComboboxFrame()
colorPanel = new JPanel();
colorPanel.setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
getContentPane().add(colorPanel, BorderLayout.CENTER);
class ChoiceListener implements ActionListener
public void actionPerformed(ActionEvent event)
setbackgroundColor();
listener = new ChoiceListener();
createControlPanel();
setbackgroundColor();
pack();
private void createControlPanel()
JPanel colorPanel = createComboBox();
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new GridLayout(1, 1));
controlPanel.add(colorPanel);
getContentPane().add(
controlPanel, BorderLayout.SOUTH);
public JPanel createComboBox()
colorCombo = new JComboBox();
colorCombo.addItem("Red");
colorCombo.addItem("Green");
colorCombo.addItem("Blue");
colorCombo.setEditable(true);
colorCombo.addActionListener(listener);
JPanel panel = new JPanel();
panel.add(colorCombo);
return panel;
public void setbackgroundColor()
String color = (String)colorCombo.getSelectedItem();
colorPanel.setbackgroundColor(new backgroungColor(color));
colorPanel.repaint();
private JPanel colorPanel;
private static final int PANEL_WIDTH = 300;
private static final int PANEL_HEIGHT = 300;
private JComboBox colorCombo;
private ActionListener listener;
}The line with the error is: colorPanel.setbackgroundColor(new backgroungColor(color));
Here is the second file
import javax.swing.JFrame;
public class backgroundTest
public static void main(String[] args)
JFrame frame = new comboboxFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}Any help would be appreciated. Thank youHello everyone. I have gone throught my whole
program and I am still getting a cannot find symbol
error. "Symbol" here means variable or method name (or maybe class name, but I think it will specifically bitch about classnames in that case).
String foo = "foo";
System.out.println(zoo); // no such variable as zoo. So...
colorPanel.setbackgroundColor(new backgroungColor(color));Looks like colorPanel or setbackgroundColor(new backgroungColor doesn't exist.
Note that spelling and capitalization count. Java's really anal that way. -
Help - cannot find symbol error
Can someone help me? I am getting "cannot find symbol" error in my code and cannot figure out why. Here is my code:
public class toyInventory
private String[] toyInventory = {"ball", "bat", "bear", "car", "doll", "game", "glove", "playstation", "train"};
private int[] nineArray = {0,0,0,0,0,0,0,0};
int invItems = 0;
public void countToy()
String orderInput[] = {"bear", "train", "car", "ball", "doll", "ball", "train", "doll", "game", "train", "bear", "doll", "train", "car", "ball", "bat", "glove", "bat", "b", "doll", "bear", "ball", "doll", "bat", "car", "glove", "train", "doll", "bear"};
int noMatch;
for(int a = 0; a < orderInput.length; a++)
noMatch = 0;
for(int b = 0; b < toyInventory.length; b++)
if(orderInput[a] == toyInventory)
noMatch = 1;
break;
if(noMatch == 0)
invItems = 1;
public void printItems()
for(int c = 0; c < toyInventory.length; c++)
if (countToy[c] > 4)<-------- cannot find symbol error here
System.out.print("*");
System.out.print(toyInventory[c] + "\t" + countToy[c] + "\n"); <----cannot find symbol error here also
System.out.print("The number of invalid items in the order is" + invItems);
public static void main( String[] args)
toyInventory collection = new toyInventory ();
collection.countToy();
collection.printItems();public void countToy()
String orderInput[] = {"bear", "train", "car", "ball", "doll", "ball", "train", "doll", "game", "train", "bear", "doll", "train", "car", "ball", "bat", "glove", "bat", "b", "doll", "bear", "ball", "doll", "bat", "car", "glove", "train", "doll", "bear"};In the above code you have declared countToy() as method and while in the below lines you are calling countToy[] as an array. So please check that...
if (countToy[c] > 4)<-------- cannot find symbol error here
System.out.print("*");
System.out.print(toyInventory[c] + "\t" + countToy[c] + "\n"); <----cannot find symbol error here also
} -
Cannot find symbol error.. really stuck.
I have a class named Rectangle.java. It is in a package "Geometry" together with Point.java and Line.java. But when I try to use Rectangle.java in my main program, MyRect.java, it gives me a "cannot find symbol" error, particularly the methods and sometimes the variables. I tried compiling just my Rectangle class and it compiled fine.. And I tried the Line and Point classes on another program and it works fine... well probably because the Line and Point classes are from a book(Ivor Horton's Beginning Java 2).. I am just starting out in Java. :)
Rectangle.java
package Geometry;
public class Rectangle{
public Point[] corner = new Point[4];
public String name;
public Rectangle(){
corner[0].setPoints(0,0);
corner[1].setPoints(1,0);
corner[2].setPoints(0,1);
corner[3].setPoints(1,1);
name = new String("Unknown");
public Rectangle(double point1_x,double point1_y,double point2_x, double point2_y, String Name){
corner[0].setPoints(point1_x, point1_y);
corner[3].setPoints(point2_x, point2_y);
corner[1].setPoints(point2_x, point1_y);
corner[2].setPoints(point1_x, point2_y);
name = new String(Name);
public Rectangle(final Rectangle oldRect, String Name){
corner[0] = oldRect.corner[0];
corner[3] = oldRect.corner[3];
corner[1] = oldRect.corner[1];
corner[2] = oldRect.corner[2];
name = new String(Name);
public double getWidth(){
return corner[0].distance(corner[1]);
public static void printRectangle(final Rectangle rect){
for(int i= 0;i<4;i++){
System.out.println("Corner"+(i+1)+" X: "+rect.corner.getX()+" Corner"+(i+1)+" Y: "+rect.corner[i].getY());
System.out.println();
public String toString(){
return ("Name: "+name);
}MyRect.java
import Geometry.*;
public class MyRect{
public static void main(String[] args){
Rectangle myRect = new Rectangle(0,0,2,1);
Rectangle copyRect = new Rectangle(myRect);
printRectangle(myRect);
double width = myRect.getWidth();
}and the errors:
MyRect.java:4: cannot find symbol
symbol : constructor Rectangle(double,double,double,double,java.lang.String)
location: class Rectangle
Rectangle myRect = new Rectangle(0.0,0.0,2.0,1.0,"My Rectangle")
^
MyRect.java:9: cannot find symbol
symbol : variable name
location: class Rectangle
System.out.println(myRect.name);
^
2 errorsAre you sure you have posted the whole content of MyRect.java
import Geometry.*;
public class MyRect{
public static void main(String[] args){
Rectangle myRect = new Rectangle(0,0,2,1);
Rectangle copyRect = new Rectangle(myRect);
printRectangle(myRect);
double width = myRect.getWidth();
}I don't see the following error line in the code you have given.
MyRect.java:4: cannot find symbol
symbol : constructor Rectangle(double,double,double,double,java.lang.String)
location: class Rectangle
Rectangle myRect = new Rectangle(0.0,0.0,2.0,1.0,"My Rectangle")
^
MyRect.java:9: cannot find symbol
symbol : variable name
location: class Rectangle
System.out.println(myRect.name);
^
2 errors -
Cannot find symbol error -- array fill from text file
When I compile my program I receive a cannot find symbol error for the variable ayears. I thought this snippet would fill the array ayears that could be accessed later in the program but I am getting the error message from my buildGUI() class. What could I have done wrong?
(my file options.txt contains data separated by a comma and a space)
public void getOption(){
InputStream istream;
File options = new File("options.txt");
istream = new FileInputStream(options);
try {
StringBuffer sbuff = new StringBuffer();
BufferedReader inbuff = new
BufferedReader(new FileReader(options));
String line = "";
while((line = inbuff.readLine()) != null) {
System.out.println(line);
sbuff.append(line);
inbuff.close();
String fileData = sbuff.toString();
String[] splitData = fileData.split(", ");
String[] ayears = new String[splitData.length];
catch(Exception e){
JOptionPane.showMessageDialog(null,
"Could not find specified file", "Error Message",
JOptionPane.ERROR_MESSAGE);
}Okay -- that helped. I've avoided that error -- now on to the next one, why won't my array fill? It's going to be a long night.
Thanks for the help. -
"Cannot find Symbol" error message
I have a "cannot find symbol" error message on line 5 below in
the driver class.
Thank you for your assistance
1 public class GameLauncher
2 {
3 public static void main(String[] args)
4 {
5 GuessGame game = new GuessGame();
6 game.startGame();
7 }
8}
public class GuessGame
public void startGame()
Player p1;
Player p2;
Player p3;
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random() * 10);
System.out.println(" I'm thinking of a number between 0 and 9....");
while(true)
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("Player one guessed " + guessp1);
guessp2 = p2.number;
System.out.println("Player two guessed " + guessp2);
guessp3 = p3.number;
System.out.println("Player three guessed " + guessp3);
if (guessp1 == targetNumber)
p1isRight = true;
if (guessp2 == targetNumber)
p2isRight = true;
if (guessp3 == targetNumber)
p3isRight = true;
if ( p1isRight || p2isRight || p3isRight)
System.out.println("We have a winner ! ");
System.out.println("Player one got it right? " + p1isRight);
System.out.println("Player two got it right? " + p2isRight);
System.out.println("Player three got it right? " + p3isRight);
System.out.println("Game is over ! ");
break; //game is over so break out of loop
else
//we must keep going because no one guessed the number !
System.out.println(" Players will have to try again ! ");
} // end of if/else
} // end of loop
} // end of startGame() method
} //end of class
public class Player
int number = 0; // the guess is stored here
public void guess()
System.out.println(" I'm guessing " + number);
---------------------------------------------------------------Thank you . You were right . I didn't set up the classes correctly.
I corrected a few other errors and the program runs ok !
Below is the corrected code and the output
public class GameLauncher
public static void main(String[] args)
GuessGame game = new GuessGame();
game.startGame();
/* One possible set of output is
I'm thinking of a number between 0 and 3....
I'm guessing 1
I'm guessing 3
I'm guessing 0
Player one guessed 1
Player two guessed 3
Player three guessed 0
We have a winner !
Player one got it right? true
Player two got it right? false
Player three got it right? false
Game is over !
public class Player
int number = 0; // the guess is stored here
public void guess()
number = (int)(Math.random() * 4);
System.out.println(" I'm guessing " + number);
public class GuessGame
public void startGame()
int x = 0;
Player p1 = new Player();
Player p2 = new Player();
Player p3 = new Player();
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random() * 4);
System.out.println("\n I'm thinking of a number between 0 and 3....\n");
while(x <5)
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("\nPlayer one guessed " + guessp1);
guessp2 = p2.number;
System.out.println("Player two guessed " + guessp2);
guessp3 = p3.number;
System.out.println("Player three guessed " + guessp3);
if (guessp1 == targetNumber)
p1isRight = true;
if (guessp2 == targetNumber)
p2isRight = true;
if (guessp3 == targetNumber)
p3isRight = true;
if ( p1isRight || p2isRight || p3isRight)
System.out.println("\nWe have a winner ! ");
System.out.println("Player one got it right? " + p1isRight);
System.out.println("Player two got it right? " + p2isRight);
System.out.println("Player three got it right? " + p3isRight);
System.out.println("Game is over ! ");
break; //game is over so break out of loop
else
//we must keep going because no one guessed the number !
System.out.println(" Players will have to try again ! ");
} // end of if/else
x = x + 1;
} // end of loop
} // end of startGame() method
} //end of class -
Cannot find symbol error with ArrayList
Hi friends,
i am using ArrayList in the servlet file inorder to store the resultset retrieved from DB. When i compile my program i got a error like this one.
C:\apache-tomcat-6.0.16\webapps\rmanew\WEB-INF\classes\com\rajk\javacode\servlet
s>javac -classpath c:\apache-tomcat-6.0.16\lib\servlet-api.jar *.java
RMAEntryModel.java:385: cannot find symbol
symbol : method addElement(java.lang.Object)
location: class java.util.ArrayList
pat.addElement(rs.getObject("date"));
^
RMAEntryModel.java:386: cannot find symbol
symbol : method addElement(java.lang.Object)
location: class java.util.ArrayList
pat.addElement(rs.getObject("serial_no"));
^
RMAEntryModel.java:387: cannot find symbol
symbol : method addElement(java.lang.Object)
location: class java.util.ArrayList
pat.addElement(rs.getObject("replaced_serial_no"));
^
RMAEntryModel.java:388: cannot find symbol
symbol : method addElement(java.lang.Object)
location: class java.util.ArrayList
pat.addElement(rs.getObject("customer_inv_no"));
^
RMAEntryModel.java:389: cannot find symbol
symbol : method addElement(java.lang.Object)
location: class java.util.ArrayList
pat.addElement(rs.getObject("fault_desc"));
^
RMAEntryModel.java:390: cannot find symbol
symbol : method addElement(java.lang.Object)
location: class java.util.ArrayList
pat.addElement(rs.getObject("vendor_name"));
^
RMAEntryModel.java:403: cannot find symbol
symbol : method elementAt(int)
location: class java.util.ArrayList
everyPat.addElement(pat.elementAt(k));
^
RMAEntryModel.java:406: cannot find symbol
symbol : method addElement(java.util.ArrayList)
location: class java.util.ArrayList
all.addElement(everyPat);
^
8 errorsWhat is the problem?... Any help will be appreciatedRead the message. It cannot find the addElement() method on class java.util.ArrayList.
Just consult the javadoc of the class used for details about the class: [http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html].
In the future, those kind of basic compilation errors (and runtime exceptions) rather belongs in the 'New to Java' forum. Those are really trival. -
"Cannot find symbol" error problem
I've got problem with compiling this program:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class SliderDemo extends JFrame {
private JSlider diameterSlider;
private ovalPanel myPanel;
public SliderDemo()
super( "Изменение диаметра круга" );
myPanel = new ovalPanel();
myPanel.setBackground( Color.YELLOW );
diameterSlider = new JSlider( SwingConstants.HORIZONTAL, 0, 200, 10 );
diameterSlider.setMajorTickSpacing( 10 );
diameterSlider.setPaintTicks( true );
diameterSlider.addChangeListener(
new ChangeListener() {
public void stateChanged( ChangeEvent e )
myPanel.setDiameter( diameterSlider.getValue() );
Container container = getContentPane();
container.add( diameterSlider, BorderLayout.SOUTH );
container.add( myPanel, BorderLayout.CENTER );
setSize( 220, 270 );
setVisible( true );
public static void main( String args[] )
SliderDemo application = new SliderDemo();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}Compiler shows 2 errors, looking similar:
SliderDemo.java:12: cannot find symbol
symbol : class ovalPanel
location: class SliderDemo
private ovalPanel myPanel;
SliderDemo.java:18: cannot find symbol
symbol : class ovalPanel
location: class SliderDemo
myPanel = new ovalPanel();
What can I do with it. I checked everything on Internet and books, but it still not compiling!possible problems are:
1. you haven't created an ovalPanel() class in your sliderDemo class
2. you have created an ovalPanel() class in separate file but you didn't save it with the same directory with your sliderDemo class -
Cannot find symbol : class ! problem
Hello,
I have 2 java files (CD.java & CDCatalog.java) in a package called "testPackage". I can compile CD.java, but CDCatalog.java (that creates CD instances) gives following error - cannot find symbol symbol : class CD
Below are the 2 files, please tell me why I get this errors , thanks!
1) CDCatalog.java
package testPackages;
import java.util.Hashtable;
//import testPackages.CD;
public class CDCatalog {
/** The CDs, by title */
private Hashtable catalog;
public CDCatalog( ) {
catalog = new Hashtable( );
// Seed the catalog
addCD(new CD("Nickel Creek", "Nickel Creek", "Sugar Hill"));
addCD(new CD("Let it Fall", "Sean Watkins", "Sugar Hill"));
addCD(new CD("Aerial Boundaries", "Michael Hedges", "Windham Hill"));
addCD(new CD("Taproot", "Michael Hedges", "Windham Hill"));
public void addCD(CD cd) {
if (cd == null) {
throw new IllegalArgumentException("The CD object cannot be null.");
catalog.put(cd.getTitle( ), cd);
2) CD.java
package testPackages;
public class CD {
private String title;
private String artist;
private String label;
public CD( ) {
// Default constructor
public CD(String title, String artist, String label) {
this.title = title;
this.artist = artist;
this.label = label;
public String getTitle( ) {
return title;
public void setTitle(String title) {
this.title = title;
public String getArtist( ) {
return artist;
public void setArtist(String artist) {
this.artist = artist;
public String getLabel( ) {
return label;
public void setLabel(String label) {
this.label = label;
public String toString( ) {
return "'" + title + "' by " + artist + ", on " +
label;
}just tried it as well, no problems, provided you
compile CD.java firstI just tried from the shell ans look at this...
E:\testPackages>dir
Volume in drive E is MYFLASHDISK
Volume Serial Number is 483B-B160
Directory of E:\testPackages
05/24/2006 07:48 PM <DIR> .
05/24/2006 07:48 PM <DIR> ..
05/24/2006 07:20 PM 1,143 CD.java
05/24/2006 07:50 PM 1,053 CD.class
05/24/2006 07:56 PM 972 CDCatalog.java
3 File(s) 3,168 bytes
2 Dir(s) 1,024,503,808 bytes free
E:\testPackages>javac -cp e:\testPackages CDCatalog.java
CDCatalog.java:30: cannot find symbol
symbol : class CD
location: class testPackages.CDCatalog
public void addCD(CD cd) {
^
CDCatalog.java:24: cannot find symbol
symbol : class CD
location: class testPackages.CDCatalog
addCD(new CD("Nickel Creek", "Nickel Creek", "Sugar Hill"));
^
CDCatalog.java:25: cannot find symbol
symbol : class CD
location: class testPackages.CDCatalog
addCD(new CD("Let it Fall", "Sean Watkins", "Sugar Hill"));
^
CDCatalog.java:26: cannot find symbol
symbol : class CD
location: class testPackages.CDCatalog
addCD(new CD("Aerial Boundaries", "Michael Hedges", "Windham Hill"));
^
CDCatalog.java:27: cannot find symbol
symbol : class CD
location: class testPackages.CDCatalog
addCD(new CD("Taproot", "Michael Hedges", "Windham Hill"));
^
5 errors
E:\testPackages>I am now officially confused. I even specified the exact path to the CD.class file and javac still didnt like it.
I'll dig some more. It has to be related to the classpath some how..
JJ
Still Stumped.. I'll sleep on it..
Message was edited by:
Java_Jay -
Cannot find symbol error when compiling in different packages
Hey all,
I'm trying to divide my project into a sensible hierarchy. This is what I want:
MyProject
MyProject/src ................................. where all the source files are (no further directories)
MyProject/classes
MyProject/classes/Main.class
MyProject/classes/classes2 ................ sorry for not being creative XD
MyProject/classes/classes2/Age.classNow, Age uses Main, and this is where the trouble is. I'm using javac directly to compile Age, and this is how I'm doing it:
//from MyProject
javac -cp classes src/Age.javaAnd I get this error:
bla bla bla...cannot find symbol
symbol : variable Main
location: class classes2.Age
years = (byte)(Main.year - m.getYear());
^Main is already compiled and in place.
Also, this is how Age.java starts:
package classes2;
public class Age
{...etcI'm using JCreator as an IDE (and using it's own build function, the same error occurs, which is why I tried directly compiling the file).
Why can't javac find Main.class? I tried searching Google, but my particular problem didn't seem to crop up.
Hope I provided enough information, and ask if more is needed.
Many thanks :)If Main is not in a package (which it appears not to be), then it cannot be referenced by any class that is in a package. If Main is in a package, then you'll need to refer to it by it's fully-qualified name (or import it as such) if it's not in the same package as the class that's referring to it, and Main.class will have to be in a directory that corresponds to its package.
Also, though the compiler may not require it, your source code directory structure should match your package hierarchy. -
Please help. Cannot find symbol Error!
I have been working on this code for days now. It keeps coming up with errors. The error says cannot find symbol. I will bold the areas that say that. I got it down to 23 from 42 but now I have no idea what the problem is. any help is greatly appreciated!! I only added a couple of them mainly because it is overwhelming. I can add the rest of someone replies. Thank you again. Oh and the Classpath is set right. I am compiling from the desktop where I have the file also. That was the first thing I checked after reading other threads related to this issue. :O)
import javax.swing.*;
import java.awt.event.*;
public class InventoryPart4 extends JFrame
private JTextArea text;
private Inventory inv;
private int view;
public InventoryPart4() {
super("Product");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // quit if the window is closed
view = 0; // current one showing
Product product;
inv = new Inventory(4);
product = new Product(1, "Salad", 3, 4.95); here
inv.add(product, 0);
product = new Product(2, "Dressing", 6, 3.00); here
inv.add(product, 1);
product = new Product(3, "Bacon Bits", 2, 1.75);*here*
inv.add(product, 2);
product = new Product(4, "Croutons", 1, 1.75); here
inv.add(product, 3);
// sort
inv.sort();
// output
for (int i = 0; i < 4; i++) {
System.out.println(inv.get(i));
// total val
System.out.printf("Total=$%.2f", inv.totalValue());
//gui
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
text = new JTextArea(10,50);
text.setEditable(false);
panel.add(text);
showProduct();
JButton next = new JButton("Next");
here next.addProduct(new Product() {
public void actionPerformed(ActionEvent e) {
if (view < inv.size()-1) view++;
else view = 0;
showProduct();
panel.add(next);
getContentPane().add(panel);
// view an item
public void showProduct() {
text.setText("Product Details:\n");
text.append(inv.get(view).toString()+"\n");
text.append(String.format
("Value of all the Contents: $%.2f", inv.totalValue()));
public static void main(String args [])
InventoryPart4 invt = new InventoryPart4();
invt.pack();
invt.setVisible(true);
} //end main
} // end class InventoryPart1
class Product {
private int ProductItem;
private int ProductStock;
private double ProductPrice;
public Product(int item, int stock, double price) {
ProductItem = item;
ProductStock = stock;
ProductPrice = price;
} //end three-argument constructor
// set Product Item
public void setProductItem(int item) {
ProductItem = item; here
} //end method set Product Item
//return Product Item
public int getsProductItem() {
return productItem;
} //end method get product Item
//set Product Stock
public void setProductStock(int stock) {
productStock = stock;
} //end method set Product Stock
//return Product Stock
public int getProductStock() {
return productStock;
} //end method get Product Stock
public void setProductPrice(double price) {
productPrice = price;
} //end method setproductPrice
//return Product Price
public double getProductPrice() {
return ProductPrice;
} //end method get Product Price
//calculate inventory value
public double value() {
return productPrice * productStock;
}// end method get productPrice and productStock
@Override
public String toString() {
return String.format("item=%3d units=%d price=%.2f value=%.2f",
productItem, productStock, productPrice, value());
}//end class Product
class Inventory {
private Product[] list;
// constructor
public Inventory(int size) {
list = new Product[size];
// complete value
public double totalValue() {
double val = 0.0;
for (int i = 0; i < list.length; i++) {
val += list.value();
return val;
// add an item
public void add(Product i, int p) {
list[p] = i;
// get an item
public Product get(int i) {
return list[i];
// sort by name
public void sort() {
// bubble sort
int n = list.length;
for (int search = 1; search < n; search++) {
for (int i = 0; i < n-search; i++) {
if (list[i].getProductItem().compareToIgnoreCase(list[i+1].getProductItem()) > 0) {
// swap
Product temp = list[i];
list[i] = list[i+1];
list[i+1] = temp;
public int size() {
return list.length;
//extended class
class Contents extends Product {
private String Contents;
// constructor
public Contents(int item, String name, int units, double price) {
super(item,name,units, price);
this.contents = contents;
// getter
public String getContents() {
return Contents;
// total value with the 5% fee
public double value() {
return super.value()*1.05;
// just the 5% fee
public double fee() {
return super.value()*0.05;
// setter
public void setContents(String contents) {
this.contents = contents;
public String toString()
return super.toString() + String.format(" fee=%.2f contents=%-20s",
fee(), contents);The error says cannot find symbol.It says more than that. It says what symbol it cannot find, and it points to the line of code where the symbol was used.
product = new Product(1, "Salad", 3, 4.95); *here*So it can't find a class called Product with an accessible constructor Product(int, String, int, double).
product = new Product(2, "Dressing", 6, 3.00); *here*
inv.add(product, 1);
product = new Product(3, "Bacon Bits", 2, 1.75);*here*
inv.add(product, 2);
product = new Product(4, "Croutons", 1, 1.75); *here*
inv.add(product, 3);Ditto.
JButton next = new JButton("Next");
*here* next.addProduct(new Product() {JButton doesn't have an addProduct() method.
public Product(int item, int stock, double price) {This constructor doesn't match the constructor you are calling above, and there are no other constructors.
ProductItem = item; *here*You must have a typo. But don't use inital capitals on field names: use them only on class names.
return productItem;Here is evidence that you have a typo. Java is case-sensitive. Either the field is caled 'ProductItem' or it is called 'productItem', not both.
// bubble sortDo you have to do this for the homework? Bubble sort is never used in real code except by people who don't know what they're talking about. Use Collections.sort().
super(item,name,units, price);You should be getting a compile error here too. Ther is no such constructor for Product.
return Contents;And here.
Maybe you are looking for
-
Information button in ALV report
Information button in ALV report is not working. any suggestion
-
Mini DisplayPort to Dual-Link DVI Adapter
Hi, I am using the Apple Mini DisplayPort to Dual-Link DVI adapter to connect my 30" Apple Cinema Display (Aluminum) to my MacBook Pro 13" Retina, I am passing through the Belkin Thunderbolt Dock, so I connect the Dock to the MBP via the Thunderbolt
-
Sorry if this is obvious, but I can't for the life of me figure it out- I'm using Lightroom to organize images for a book project, importing each folder of images one at a time and placing them in collections to match the client's file structure. E.g
-
Apple Care bought in US and then moved to UK
I am moving to the UK (Scotland) and not sure if I should buy Apple Care for my iPhone - will it be honored in the UK after I move?? Should (can I) buy it the UK for a US phone?? Thanks for the help....
-
Hyperion Planning Version with Windows 7?
Any ideas/experience as to whether Hyperion Planning Version 11.1.2 will work with Hyperion Essbase System 9 running on a Windows 7 machine? I know from experience that trying to run Essbase 11 on Windows 7 was a waste of time.