Usetutoringspotscode to get 8% OFF on your first order!

  • time icon24/7 online - support@tutoringspots.com
  • phone icon1-316-444-1378 or 44-141-628-6690
  • login iconLogin

Computer sciences and Information technology

Computer sciences and Information technology

This    assignment    is    designed    to    give    you    some    practice    and    experience    writing     Java    applications    using    methods    and    arrays.      Each
question    specifies    the    name    that    each    application      should    have.    Please    follow    this    naming    convention.    When    you    have    completed
the    assignment    compress    all    of    your    files    into    a    single    archive    using    Windows    (Right    Click    folder     – >    Send    To    – >    Compressed
Folder)    or    OS    X    (Right    Click    folder     – >    Compress).        Using     a    3
rd
party    compression    utility    such    as    WinRAR    or    7zip    may    render    your
files    unreadable    and    un- markable.        Submit    single    compressed    file      to    D2L .          You    can    resubmit    your    files    as    many    times    as    you
would    like    up    to    the    due    date    and    time.

Be    sure    to    include    your    name    and    a    brief    description    of    your    program    (as    comments)    at    the    top    of    each    file.    Pay
attention    to    using    good    variable    names.        If    you    have    any    questions    please    check    or    post    to    the    forum.

If    you    work    in    partners,    submit    only    one    solution    and    make    su re    that    both    partners’    names    are    in    ALL    files.        If    only    one
name    appears,    only    one    person    will    get    the    grade.        No    exceptions.

Submit    solutions    to    question    1,    (2    or    3)     and     4 .          It    is    assumed    that    you    are    doing    all    of
the    questions    and    some    of    the    solutions     may    be    referenced    in    future    assignments.

Question 1.   (SphereAndCone .java)  (20 marks) Write a single class that has the methods:

public static double sphereVolume(double r)
public static double sphereSurface(double r)
public static double coneVolume(double r, double h)
public static double coneSurface(double r, double h)

Then write a main()  method that prompts the user for values for r  (radius)  and  h (height) and calls all of the
other methods  to  displays the results.  Your  main()  method takes care of all input collection and printing of the
results  – make use of the method arguments and return values.   You do not need to do any error checking on the
input values.

java SphereAndCone
Enter a value for radius:1
Enter a value for  height:1
Sphere Volume: 4.1887902047863905
Sphere Surface Area: 12.566370614359172
Cone Volume: 1.0471975511965976
Cone Surface Area: 7.584475591748159

java SphereAndCone
Enter a value for radius:5.5
Enter a value for height:12.2
Sphere Volume: 696.9099703213358
Sphere Surface Area: 380.132711084365
Cone Volume: 386.46825626910436
Cone Surface Area: 326.26533476656743
Question 2.   (Methods .java 20 marks) Write a class that has the following methods:

isPrime: This method takes a single positive integer and checks to see if it is a prime number.  The method
returns true or false (boolean, not String).

vowels :   This method takes a single String argument and returns the number of vowels  (a, e, i, o or u) contain ed
in  the String.

power :  This method takes two integers as arguments, one representing the base and another representing the
exponent.   The method then uses a  for  loop to compute and return the result of base
exponent
.   Eg.  2
3
=8.

halfLife:   Radioactive decay of materials can be modeled by the equation shown below.  Write a method that
takes in all the necessary arguments to compute and then return the amount of material  (A
t
) after it has decayed
for a period of time  (t) given a half -life value (h).

?
?
= ?
?
?
! ? (
????
?
)

Finally, write a main() method that prompts the user to enter inputs appropriate for testing your methods.
Remember, to do all input and output in your main() method.  Pass the input to your methods and collect the
results using assignment statements.    You don’t need to do any input checking.  Assume the user enters
appropriate values.    I suggest your write and test your methods one at a time.  You can get part  marks for the
methods that work.

C: Users aaron Desktop a4- sol>java Methods
Testing method isPrime…

Enter an integer to test if it is prime: 10
10 is not prime.

Testing method vowels…

Enter a string to count the vowels in: I love apples
and banana
I love apples and bananas!  Really! has 11 vowels!

Testing method power…

Enter 2 integers, base then exponent: 2 3
2 to the power of 3 is 8

Testing method halfLife…

Enter the initial amount: 100
Enter the half- life: 50
Enter the time to  run for: 50
The amount left after 50.0 time units is 50.0

C: Users aaron Desktop a4- sol>java Methods
Testing method isPrime…

Enter an integer to test if it is prime: 17
17 is prime!

Testing method vowels…

Enter a string to count the vowels in: abc  123 xyz
abc 123 xyz has 1 vowels!

Testing method power…

Enter 2 integers, base then exponent: 3 9
3 to the power of 9 is 19683

Testing method halfLife…

Enter the initial amount: 1000
Enter the half- life: 211000
Enter the time to run for: 20000
The amount left after 20000.0 time units is
936.41066454235
Question 3.    (20 marks) (CursedGold .java) Write a game called Cursed Gold.  The object of the game is to make
your opponent select the last gold coin from the pile.   There are initially 16 gold coins in the pile and you and your
opponent take turns selecting 1,2 or 3 pieces of gold.  The person who has to take the last piece from the pile loses.

The idea here is to create three functions that represent different strategies.  Two of your  methods  (named
playerSimple()  and  playerSmart() ) are completely automated  –   think artificial intelligence.  They take a
single argument  –   the number of coins currently in the pile.  Your functions use this information to decide how to
strategize.  One of them can be very simple and do the same thing every time but the other function should be a bit
more … intelligent.  Random selections are also valid but will only work to a point.  These functions print (yes,
printing in a function is allowed here)  how many coins were removed and they return how many coins are left –   this
is important as this number is needed by the next “player”.

The third function ( playerHuman() ) is a human player.  This means that it still takes a single argument  –   the
number o f coins remaining but it then prompts the user for input (1,2 and 3 are the only valid inputs) and returns the
number of gold pieces remaining.

All three of the functions can work in different ways but ultimately, all three will have to deal with the pile  of coins
in a special way when it is down to three or less  –   keep this in mind.

You’ll need a main function that initializes the pile to 16 gold pieces.  It will also be responsible for looping over the
player turns, for printing out the number of pieces  remaining after each turn and for determining who won.  It also
determines whether or not the second player is human and calls the appropriate functions.

A few hints from my solution (take them or leave them):
– I have a function called checkWinner() th at determines if a winner exists   (only 1 coin left!!)   and stops the loop.
– In the output below, my player 1 is my smarter computer player while player 2 is my simpler computer player
–   only slightly but there is a difference.
– My solution has a lot of error checking  –   making sure I don’t take too many coins for example –   even in the
computer players.

Output from the two computer players playing (no user input):

Welcome to Cursed Gold!.  Here be the rules:
– Ye can only take 1, 2 or 3 gold coins on yer tu rn.
– The poor soul that takes the last coin walks the plank (loses).
———————————————

Be playarr 1 human?: (y/n) n
Be playarr 2 human?: (y/n) n

Arrr.  I be stacking up a pile of coins 16 high.

Player 1:Taking 1 gold coin(s)
Thar be 15 gold left matey.
Player 2:Taking 1 gold coin(s)
Thar be 14 gold left matey.
——————————-
Player 1:Taking 3 gold coin(s)
Thar be 11 gold left matey.
Player 2:Taking 1 gold coin(s)
Thar be 10 gold left matey.
——————————-
Player 1:Taking 3 gold coin(s)
Thar be 7 gold left matey.
Player 2:Taking 1 gold coin(s)
Thar be 6 gold left matey.
——————————-
Player 1:Taking 1 gold coin(s)
Thar be 5 gold left matey.
Player 2:Taking 1  gold coin(s)
Thar be 4 gold left matey.
——————————-
Player 1:Taking 3 gold coin(s)
Thar be 1 gold left matey.
Winner is player 1
Question 4.  (20 marks,  Recursion.java) Write a java program that has three static recursive methods
and a  main method. In your main method (5 marks) prompt for user input and display the results of each
of your recursive methods as shown in the sample output below.

(a)  (5 marks) Write a method that uses recursion to compute the value of ?
!
, where a and n  are both
arguments to the method.  If  n   = 0, the method should return 1 as ?
!
= 1 .   If n = 1, the method should
return  a   as ?
!
= ? .  If  n   is any other number … that’s for you to determine but remember,  ?
!
= ?   ×
?
! ! !
.

(b)  (5 marks) Write a method that   uses recursion to return the reverse of a String that is passed to the
method as an argument.  Hint:  For base cases, consider a string that has 1 or fewer characters…how
much work is there to reverse them?  Otherwise a reversed string is the last letter of the original string
plus the reverse of the rest.  Try it out on paper first.

(c) (5 marks) Write a recursive method that determines the number of digits in an integer, n.  Hint:  If n <
10, there is one digit.  Otherwise, it has one more digit than n   / 10.

For both of these questions and with recursion in general, the trick is to determine 1) the base
case(s) that will cause the function to simply return and end the recursion and 2) the recursive
case(s) that will cause the function to call itself with a smaller version of the same problem. All
input and output should take place in your main method.  *** Don’t forget to “eat the new line”
if you use your scanner between numbers and strings.

java Recursion
Enter two numbers, base then exponent:  2 0
Result: 1

Enter a string to reverse: apples
Result: selppa

Enter a number:  123
Number of digits: 3

java Recursion
Enter two numbers, base then exponent:  100 1
Result: 100

Enter a string to reverse: Z
Result: Z

Enter a number:  6
Number of digits : 1

java Recursion
Enter two numbers, base then exponent:  2 12
Result: 4096

Enter a string to reverse: i luv cosc!
Result: !csoc vul i

Enter a number:  1234567890
Number of digits: 10

PLACE THIS ORDER OR A SIMILAR ORDER WITH US TODAY AND GET AN AMAZING DISCOUNT ??

CLICK BUTTON TO ORDER NOW

download-12

You can leave a response, or trackback from your own site.

Leave a Reply

Powered by WordPress | Designed by: Premium WordPress Themes | Thanks to Themes Gallery, Bromoney and Wordpress Themes