• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Writing a large symbol in the console

 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This might sound like a slightly odd question, so bear with me.

What I'm tasked to do, is to make a simple Java class that forms a "V" based on whatever height the user would desire, made out of stars "*", and spaces " ".

For example, if a user desires a "V" with a height of 3, it would look print out something like;



Where a "V" with a height of 5 would look something like:



(That one didn't look too good, but you get the point, it's suppose to be 5 "high" and shaped like a "V")

The problem I have, is that I don't see what loops within loops within loops I would need to build something like this.

All the easy stuff like asking the user what height they want and such, I can handle, but I don't see how this thing is suppose to be coded, to print out a decent-looking and right-sized "V" in the console.

Can anyone assist me in this odd matter?

In order to not come off as lazy, I tried poking around a little to see what I could come up with to give you guys a clearer example of what I need.



Looked like something of a good start, and it drew me half (!) of the "V" in the size I wanted.

Am I on to it here, or am I on the moon in terms of progress?

I need the entire "V", not just a nice "\".

In layman terms; what do?
 
Bartender
Posts: 2236
63
IntelliJ IDE Firefox Browser Spring Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
My advice is: StopCoding.

Think about it:
Suppose a height is h
To print a line you need to know:
- How many spaces to put before first *
- How many spaces to put between first and second *
given line number n (I am assuming a line number is 1..n)

How do you calculate it? (not in Java, but on paper)

If you know how to print a single line given h and n, then looping from 1 to h will be trivial.
NOTE: don't even look at this code until you figure out how to solve this on paper!
 
Rancher
Posts: 2759
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Patrick Perrin Smith wrote:
(That one didn't look too good, but you get the point, it's suppose to be 5 "high" and shaped like a "V")



Actually, this might be the problem. You need to figure out how to make the V look good on paper before you code. As Pawel says StopCoding

For every given line, you know you will have a bunch of spaces, a star, then a bunch of spaces, then another star. Take a graph paper (or absent a graph paper, just draw a grid on plain paper), and draw a spiffy looking V on it by hand. Count the spaces on each line, and see if you find a pattern. Then draw a bigger V, and then do the same and see if your pattern applies. Once you get the pattern, you have your algorithm
 
Patrick Perrin Smith
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Not a bad idea guys! I think I'll get some paper-work going before attempting the code again. Thanks!
reply
    Bookmark Topic Watch Topic
  • New Topic