Results 1 to 2 of 2
  1. #1
    codex is offline Member
    Join Date
    Mar 2011
    Posts
    1
    Rep Power
    0

    Default Learning Generics in Java. Need Assistance

    I am working on a project that can help me get more familiar with using generic classes in Java.

    I am trying to send different objects to class StackTPT so that they can be put into arrays using the putinarray() method.

    But I am receiving the following errors:

    putinarray() in StackTPT cannot be applied to (StackTPT<Bed>)
    putinarray() in StackTPT cannot be applied to (StackTPT<Table>)
    -
    -(and so on for all five different types objects I try to use the putinarray() method on.)

    cannot find symbol constructor Table(java.lang.String,java.lang.String,java.lang. String,java.lang.String)

    cannot find symbol constructor Desk(java.lang.String,java.lang.String,java.lang.S tring)

    cannot find symbol constructor Bookshelf(java.lang.String,java.lang.String,java.l ang.String,java.lang.String,java.lang.String)

    -------------------------------------------------------------------------
    The code is as follows:

    Java Code:
    import java.io.*;
    import java.util.*;
    import java.lang.*;
    
    
    public class FurnishTPT {
    
    	static Stack beds = new Stack();
    	static Stack tables = new Stack();
    	static Stack chairs = new Stack();
    	static Stack desks = new Stack();
    	static Stack bookshelves = new Stack();
    
    	static Bed [] bedarray = new Bed [50];
    	static Table [] tablearray = new Table [50];
    	static Chair [] chairarray = new Chair [50];
    	static Desk [] deskarray = new Desk [50];
    	static Bookshelf [] bookshelfarray = new Bookshelf [50];
    
    	static int a=0;
    	static int x=0;
    
    
    		public static void main(String[]Args) throws IOException, FileNotFoundException{
    
    			boolean halt = false;
    			String [] parsefurniturearray = new String [] {"Bed", "Table", "Chair", "Desk", "Bookshelf"};
    			int y = 0;
    
    			while (halt==false){
    
    				File furniture = new File("Furniture.dat");
    				Scanner scan = new Scanner(furniture);
    
    
    				while (scan.hasNextLine()){
    
    					if(scan.next()==parsefurniturearray[x]){
    						if(x==0){
    							Bed bedobject = new Bed(scan.next(),scan.next());
    							StackTPT<Bed> tempbed = new StackTPT(bedobject);
    							StackTPT.putinarray(tempbed);
    
    						}
    						else if(x==1){
    							Table tableobject = new Table(scan.next(),scan.next(),scan.next(),scan.next());
    							StackTPT<Table> temptable = new StackTPT(tableobject);
    							StackTPT.putinarray(temptable);
    						}
    						else if(x==2){
    							Chair chairobject = new Chair(scan.next(),scan.next());
    							StackTPT<Chair> tempchair = new StackTPT(chairobject);
    							StackTPT.putinarray(tempchair);
    						}
    						else if(x==3){
    							Desk deskobject = new Desk(scan.next(),scan.next(),scan.next());
    							StackTPT<Desk> tempdesk = new StackTPT(deskobject);
    							StackTPT.putinarray(tempdesk);
    						}
    						else {
    							Bookshelf bookshelfobject = new Bookshelf(scan.next(),scan.next(),scan.next(),scan.next(),scan.next());
    							StackTPT<Bookshelf> tempbookshelf = new StackTPT(bookshelfobject);
    							StackTPT.putinarray(tempbookshelf);
    						}
    
    
    
    
    					}
    
    					else{scan.nextLine();}
    				}
    
    				if(x<5){x++; a=0; scan.close();}
    				else{halt=true; scan.close();}
    
    				}
    
    			}
    
    		}
    
    class StackTPT <E> extends FurnishTPT {
    	private E stackobj;
    
    	public StackTPT(){ stackobj = null;}
    
    	public StackTPT(E one){
    		stackobj = one;
    	}
    
    	public void putinarray () {
    
    		if (x==0){
    			bedarray [a] = stackobj;
    			a++;
    		}
    		else if(x==1){
    			tablearray [a] = stackobj;
    			a++;
    		}
    		else if(x==2){
    			chairarray [a] = stackobj;
    			a++;
    		}
    		else if(x==3){
    			deskarray [a] = stackobj;
    			a++;
    		}
    		else if(x==4){
    			bookshelfarray [a] = stackobj;
    			a++;
    		}
    
    
    
    
    	}
    
    	public void putinstack(){
    
    	}
    
    
    	// method to place in an array
    	// method to take array and put it into a stack
    
    
    }
    
    
    
    
    
    
    class Bed extends FurnishTPT {
    	private  String size;
    	private  String color;
    
    	Bed(){ }
    	Bed(String one, String two){
    		size=one;
    		color=two;
    	}
    
    	public String getcolor(){return (color);}
     	public String bedsize(){return (size);}
    }
    
    class Table extends FurnishTPT {
    	private int height;
    	private int width;
    	private int depth;
    	private String color;
    
    	Table(){ }
    	Table(int one, int two, int three, String four){
    		height=one;
    		width=two;
    		depth=three;
    		color=four;
    	}
    
    	public String getcolor(){return (color);}
     	public String tableheight(){return Integer.toString(height);}
     	public String tablewidth(){return Integer.toString(width);}
     	public String tabledepth(){return Integer.toString(depth);}
    }
    
    class Chair extends FurnishTPT {
    	private  String style;
    	private  String color;
    
    	Chair(){ }
    	Chair(String one, String two){
    		style=one;
    		color=two;
    	}
    
    	public String getcolor(){return (color);}
     	public String chairstyle(){return (style);}
    }
    
    class Desk extends FurnishTPT {
    	private  String style;
    	private  String color;
    	private int numberdrawers;
    	private int height;
    
    	Desk(){ }
    	Desk(String one, String two, int three, int four){
    		style=one;
    		color=two;
    		numberdrawers=three;
    		height=four;
    	}
    
    	public String getcolor(){return (color);}
     	public String deskstyle(){return (style);}
     	public String deskdrawers(){return Integer.toString(numberdrawers);}
     	public String deskheight(){return Integer.toString(height);}
    }
    
    class Bookshelf extends FurnishTPT {
    	private  int height;
    	private  int width;
    	private  int depth;
    	private  int numbershelves;
    	private String color;
    
    	Bookshelf(){ }
    	Bookshelf(int one, int two, int three, int four, String five){
    		height=one;
    		width=two;
    		depth=three;
    		numbershelves=four;
    		color=five;
    	}
    
    	public String getcolor(){return (color);}
     	public String bookshelfheight(){return Integer.toString(height);}
     	public String bookshelfwidth(){return Integer.toString(width);}
     	public String bookshelfdepth(){return Integer.toString(depth);}
     	public String bookshelfnumbershelves(){return Integer.toString(numbershelves);}
    
    }
    Since I am still unfamiliar with generics, I am still unsure of what direction I should go to remedy this.

    Any help would be greatly appreciated.

    Thanks!

    Codex

  2. #2
    Petr's Avatar
    Petr is offline Senior Member
    Join Date
    Jan 2011
    Location
    Russia
    Posts
    620
    Rep Power
    10

    Default

    it will be the more useful if you explain that you want make it. Because it's the code which you showed it's a very hardly for reading.
    Skype: petrarsentev
    http://TrackStudio.com

Similar Threads

  1. Java Generics assistance and confusion
    By sideswipe091976 in forum Advanced Java
    Replies: 9
    Last Post: 03-30-2011, 09:24 AM
  2. Learning Java...
    By Learning Java in forum New To Java
    Replies: 2
    Last Post: 09-24-2010, 10:03 PM
  3. Pls Help me in learning Java
    By SimranK in forum New To Java
    Replies: 6
    Last Post: 06-24-2010, 08:44 PM
  4. Learning Java
    By jjoshua2 in forum New To Java
    Replies: 2
    Last Post: 12-20-2008, 03:46 AM
  5. Java N00B - Remote Assistance Invitations
    By victimist in forum Java Applets
    Replies: 6
    Last Post: 10-25-2008, 02:30 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •