handout #6
CSE142—Computer Programming I
Programming Assignment #2
due: Tuesday, 4/11/06, 2 pm
This assignment will give you practice with for
loops, static methods, print/println statements and a
class constant. This assignment is worth
15 points instead of the normal 20 points. You are going to generate output that looks
like the following:
/**\
//**\\
///**\\\
////**\\\\
/////**\\\\\
+=*=*=*=*=*=*+
|../\..../\..|
|./\/\../\/\.|
|/\/\/\/\/\/\|
|\/\/\/\/\/\/|
|.\/\/..\/\/.|
|..\/....\/..|
+=*=*=*=*=*=*+
|\/\/\/\/\/\/|
|.\/\/..\/\/.|
|..\/....\/..|
|../\..../\..|
|./\/\../\/\.|
|/\/\/\/\/\/\|
+=*=*=*=*=*=*+
/**\
//**\\
///**\\\
////**\\\\
/////**\\\\\
You are to exactly reproduce this output. The various subfigures in the middle of this
output have a height of 3. These subfigures
have the property that their height determines their width, so there is only
one size variable. You are to use a class
constant to make it possible to change a single number in one place in the program
to have it produce a corresponding figure of a different size.
This assignment is meant to give you practice
with the constructs from chapters 1 and 2.
This will require you to create nested for loops with print and println statements that use the class constant. If you are interested, you may use the
constructs from chapter 3, although you are not required to do so and you will
receive no extra credit for doing so.
You may not use any programming constructs that are not in chapters 1
through 3 of the textbook.
You should continue to use static methods to
structure your solution. You should try
to avoid significant redundancy and you should structure your program in such a
way that the methods match the structure of the output itself. You are required to properly indent your code
and will lose points if you make indentation mistakes (see section 2.5.3 of the
book for an explanation of this). You
should localize variables whenever possible.
Include a comment at the beginning of your
program with basic information and a description of the program and include a
comment for each method. Name your file DrawRocket.java and turn in your program electronically
through the “assignments” link on the class web page.
On any given execution your program will produce
just one version of this figure, but it should be possible to change the value
of the program constant to have your program produce a figure of a different
size. For example, with subfigures of
height 7, the figure should look like this:
/**\
//**\\
///**\\\
////**\\\\
/////**\\\\\
//////**\\\\\\
///////**\\\\\\\
////////**\\\\\\\\
/////////**\\\\\\\\\
//////////**\\\\\\\\\\
///////////**\\\\\\\\\\\
////////////**\\\\\\\\\\\\
/////////////**\\\\\\\\\\\\\
+=*=*=*=*=*=*=*=*=*=*=*=*=*=*+
|....../\............/\......|
|...../\/\........../\/\.....|
|..../\/\/\......../\/\/\....|
|.../\/\/\/\....../\/\/\/\...|
|../\/\/\/\/\..../\/\/\/\/\..|
|./\/\/\/\/\/\../\/\/\/\/\/\.|
|/\/\/\/\/\/\/\/\/\/\/\/\/\/\|
|\/\/\/\/\/\/\/\/\/\/\/\/\/\/|
|.\/\/\/\/\/\/..\/\/\/\/\/\/.|
|..\/\/\/\/\/....\/\/\/\/\/..|
|...\/\/\/\/......\/\/\/\/...|
|....\/\/\/........\/\/\/....|
|.....\/\/..........\/\/.....|
|......\/............\/......|
+=*=*=*=*=*=*=*=*=*=*=*=*=*=*+
|\/\/\/\/\/\/\/\/\/\/\/\/\/\/|
|.\/\/\/\/\/\/..\/\/\/\/\/\/.|
|..\/\/\/\/\/....\/\/\/\/\/..|
|...\/\/\/\/......\/\/\/\/...|
|....\/\/\/........\/\/\/....|
|.....\/\/..........\/\/.....|
|......\/............\/......|
|....../\............/\......|
|...../\/\........../\/\.....|
|..../\/\/\......../\/\/\....|
|.../\/\/\/\....../\/\/\/\...|
|../\/\/\/\/\..../\/\/\/\/\..|
|./\/\/\/\/\/\../\/\/\/\/\/\.|
|/\/\/\/\/\/\/\/\/\/\/\/\/\/\|
+=*=*=*=*=*=*=*=*=*=*=*=*=*=*+
/**\
//**\\
///**\\\
////**\\\\
/////**\\\\\
//////**\\\\\\
///////**\\\\\\\
////////**\\\\\\\\
/////////**\\\\\\\\\
//////////**\\\\\\\\\\
///////////**\\\\\\\\\\\
////////////**\\\\\\\\\\\\
/////////////**\\\\\\\\\\\\\