Results 1 to 14 of 14
- 03-09-2012, 06:52 PM #1
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Missed school, need help getting started
Hey guys I've missed class the last two weeks and missed the lesson on this, so i am lost on how to get started on this recursion problem.
Heres the problem: "In the language of an alien race, all words take the form of Blurbs. A Blurb is a Whoozit followed by one or more Whatzits. A Whoozit is the character x followed by zero or more y's. A Whatzit is a q followed be either a z or a d, followed by a Whoozit. Design and implement a recursive program that generates random Blurbs in this alien language."
Heres what i have so far
How would i make this recursive?Java Code://CLASS WHOOZIT import java.util.Random; public class Whoozit { private String second; private int num; private Random rand; private String Whoozit; public Whoozit() { rand = new Random(); Whoozit = "x"; second = "y"; num = rand.nextInt(100); makeWhoozit(Whoozit, second, num); } private void makeWhoozit(String x, String y, int times) { for(int counter = 0; counter < times; counter++) { Whoozit += second; } } public String toString() { return Whoozit; } } //CLASS WHATZIT import java.util.Random; public class Whatzit { private int choice; private Random rand; private Whoozit whoozit; private String whatzit; public Whatzit() { rand = new Random(); whoozit = new Whoozit(); whatzit = "q"; choice = rand.nextInt(2); makeWhatzit(choice, whoozit); } private void makeWhatzit(int num, Whoozit append) { if (num == 0) { whatzit += "d"; } else { whatzit += "z"; } whatzit += append; } public String toString() { return whatzit; } } //CLASS BLURB import java.util.Random; public class Blurb { private int num; private Whoozit who; private Whatzit what; private Random rand; private String blurb; public Blurb() { who = new Whoozit(); what = new Whatzit(); rand = new Random(); num = rand.nextInt(100); makeBlurb(who, what, num); } private void makeBlurb(Whoozit whos, Whatzit whats, int iterations) { blurb = whos.toString(); for(int counter = 0; counter < iterations; counter++) { blurb += whats.toString(); whats = new Whatzit(); } } public String toString() { return blurb; } }Last edited by jcarosella10; 03-09-2012 at 07:00 PM.
-
Re: Missed school, need help getting started
- 03-09-2012, 06:58 PM #3
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Re: Missed school, need help getting started
oh, its just that i have no clue where the recursive part should be. I've been reading through my code and cannot find where to put in a recursive statement
- 03-09-2012, 07:02 PM #4
Re: Missed school, need help getting started
One thing that would be helpful would be to make a list of what each term in the language means or how it is defined.
When I was learning programming languages, several of them were defined in a format called BNF.
A formal listing of the language's rules could make it easier to see the format and patterns.
- 03-09-2012, 07:04 PM #5
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Re: Missed school, need help getting started
ok thanks, ill try that now
- 03-09-2012, 07:08 PM #6
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Re: Missed school, need help getting started
So Blurb = Whoozit + n Whatzits
Whatzit = q + z *or* d + Whoozit
Whoozit = x + n ys
So the recursion needs to be in both the Blurb and the Whoozit classes?
- 03-09-2012, 07:17 PM #7
Re: Missed school, need help getting started
Looks like the random bit is the "or more" part of the language.
Can you write a method that generates a Blurb without any "or more" additions?
- 03-09-2012, 07:20 PM #8
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Re: Missed school, need help getting started
I'll try, its just confusing because i wasnt given a limit on how many trailing appendages there could be.
- 03-09-2012, 07:23 PM #9
Re: Missed school, need help getting started
There's an older guy at my sailing club like that. He just rambles on and on and on and on...
- 03-09-2012, 09:19 PM #10
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Re: Missed school, need help getting started
haha very funny. heres my new code, but when it prints the blurbs it outputs the memory address. Any clues to why?
Output:Java Code://DRIVER public class driver { public static void main(String[] args) { System.out.println("Here are some random blurbs:"); System.out.println(Blurb.generateRandom()); System.out.println(Blurb.generateRandom()); System.out.println(Blurb.generateRandom()); System.out.println(Blurb.generateRandom()); System.out.println(Blurb.generateRandom()); System.out.println(Blurb.generateRandom()); System.out.println(Blurb.generateRandom()); } } //BLURB CLASS public class Blurb { private Whoozit whoozit; private OnePlusWhatzit whatzits; public Blurb (Whoozit whoozit, OnePlusWhatzit whatzits) { this.whoozit = whoozit; this.whatzits = whatzits; } public static Blurb generateRandom() { return new Blurb(Whoozit.generateRandom(), OnePlusWhatzit.generateRandom()); } public String toString() { return whoozit.toString() + whatzits.toString(); } } //ABSTRACT CLASS ONEPLUSWHATZIT public abstract class OnePlusWhatzit { static java.util.Random generate = new java.util.Random(); public static OnePlusWhatzit generateRandom () { boolean doMore = generate.nextBoolean(); if (doMore) return TwoPlusWhatzit.generateRandomTwo(); else return OneWhatzit.generateRandomOne(); } } //CLASSTWOWHATZIT class TwoPlusWhatzit extends OnePlusWhatzit { private Whatzit whatzit; private OnePlusWhatzit whatzits; public TwoPlusWhatzit (Whatzit whatzit, OnePlusWhatzit whatzits) { this.whatzit = whatzit; this.whatzits = whatzits; } public static TwoPlusWhatzit generateRandomTwo () { return new TwoPlusWhatzit(Whatzit.generateRandom(), OnePlusWhatzit.generateRandom()); } public String toString () { return whatzit.toString() + whatzits.toString(); } } //CLASS ONEWHATZIT class OneWhatzit extends OnePlusWhatzit { private Whatzit whatzit; public OneWhatzit (Whatzit whatzit) { this.whatzit = whatzit; } public static OneWhatzit generateRandomOne () { return new OneWhatzit(Whatzit.generateRandom()); } public String toString () { return whatzit.toString(); } } //CLASSWHOOZIT public class Whoozit { private int numberOfYs; private static java.util.Random generate = new java.util.Random(); public Whoozit(int numberOfYs) { this.numberOfYs = numberOfYs; } public static Whoozit generateRandom() { return new Whoozit(Math.abs(generate.nextInt())); } public String toString() { return "xy..." + numberOfYs + "..."; } }
Here are some random blurbs:
xy...381535951...Whatzit@2961116fWhatzit@23bfa3a2
xy...1929679965...Whatzit@7a8ff303
xy...1452746471...Whatzit@9b88d2Whatzit@6333934dWh atzit@4f0bd71c
xy...560559566...Whatzit@125797cfWhatzit@34afa071
xy...825184086...Whatzit@764e75bcWhatzit@1913c652W hatzit@61413e5a
xy...516538825...Whatzit@264b898
xy...1415322755...Whatzit@22930462Last edited by jcarosella10; 03-09-2012 at 09:26 PM.
- 03-09-2012, 09:23 PM #11
Re: Missed school, need help getting started
Post the output if you have questions about it.
- 03-09-2012, 09:26 PM #12
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Re: Missed school, need help getting started
just edited it into the last one
- 03-09-2012, 09:32 PM #13
Re: Missed school, need help getting started
That is from the default toString() method for the Whatzit method. Add a toString() method that returns what you want to see.Whatzit@22930462
- 03-09-2012, 09:37 PM #14
Member
- Join Date
- Mar 2012
- Location
- Vestal, NY
- Posts
- 36
- Rep Power
- 0
Similar Threads
-
One that Oracle missed
By DarrylBurke in forum Forum LobbyReplies: 0Last Post: 12-07-2011, 07:00 PM -
Something to get me started?
By Spidermine in forum New To JavaReplies: 3Last Post: 10-18-2011, 03:27 AM -
Get me started?
By neworlbush25 in forum New To JavaReplies: 4Last Post: 03-26-2009, 05:16 PM -
Getting started
By hornsby in forum NetBeansReplies: 1Last Post: 03-12-2009, 07:47 AM -
Have I missed Something ???
By Exponential_P in forum New To JavaReplies: 12Last Post: 01-05-2009, 04:27 AM


3Likes
LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks