Java Programming Exercises part 4 : 6 Questions

Compiled By Unknown - No Comments


  1. Trigonometric Functions *:
  2. Write a demonstration program that asks the user to select one of three possible inverse functions: ArcSin, ArcCos, or ArcTan, and subsequently input a trigonometric ratio. If the magnitude of the ratio is greater than unity, and the desired function was either ArcSin or ArcCos, the program should output the statement, “Magnitude must not be greater than unity.” and terminate. If the input function type is not “as,” “ac,” or “at,” the program should print “Not an allowed function” and print the angle as “NaN.” Otherwise, it should perform the conversion, and output the resulting angle in degrees. Sample session: Select ArcSin(as), ArcCos(ac), or ArcTan(at): at Enter a trigonometric ratio: 50 angle in degrees = 88.8542371618249
  3. Combining Decibels *:
  4. Sound power level is expressed in decibels. A decibel is 10 x log10(picoWatts), where a picoWatt is 10-12 Watts. To determine the acoustical power level produced by the combination of two sound sources, we do the following: 1. Convert each decibel level into picoWatts, using the formula, picoWatts = 10(decibels / 10) 2. Add the picoWatt powers. 3. Convert the sum back into decibels. Using good style, create a class called Decibels. In the main method, declare two component decibel values, dB1 and dB1, both double variables. Also declare a combined decibel value, combinedDB. Prompt for and input the two component decibel values. Then use the above formulas and Math’s pow method and Math’s log10 method to compute the combined sound power level. Sample session: Enter first decibel level: 63 Enter second decibel level: 65 Combination decibel level = 67.1244260279434 dB
  5. Variable Name Checker **:
  6. Write a program that checks the properness of a given variable name. More specifically, your program should specify whether a user-entered variable name is (1) illegal, (2) legal, but uses poor style, or (3) good. There are different opinions as to what constitutes good style for a variable name. For this program, check for good style using these rules: • Only use letters and digits. • Use a lowercase letter for the first character. You don’t need to check for an uppercase letter for the first letter in the second word, third word, etc. Sample session: This program checks the properness of a proposed Java variable name. Enter a variable name (q to quit): streetAddress2 Good! Enter a variable name (q to quit): street address2 Illegal. Enter a variable name (q to quit): StreetAddress2 Legal, but uses poor style. Enter a variable name (q to quit): 2ndStreetAddress Illegal. Enter a variable name (q to quit): street$address$2 Legal, but uses poor style. Enter a variable name (q to quit): q
  7. Phone Number Dissector **:
  8. Implement a program that reads phone numbers, and for each phone number, it displays the phone number’s three components – country code, area code, and local number. See the sample session for details. You may assume that the user enters each phone number as a series of digits and dashes, such that there are three groups of digits and two dashes separating the three groups. For example, 1-816-7412000. The first digit group (1 in the example) is the country code, the second digit group (816 in the example) is the area code, and the third digit group (7412000 in the example) is the local phone number. You may not assume that the number of digits in a particular digit group is fixed. For example, the country code for the United States requires one digit (1) and the country code for China requires two digits (86). Sample session: PHONE NUMBER DISSECTOR Enter a phone number in the form cc-area-local, where cc = country code digits, area = area code digits, and local = local phone digits. Or enter q to quit: 1-816-7412000 country code = 1 area code = 816 local phone number = 7412000 Enter a phone number in the form cc-area-local, where cc = country code digits, area = area code digits, and local = local phone digits. Or enter q to quit: 86-131-12345678 country code = 86 area code = 131 local phone number = 12345678 Enter a phone number in the form cc-area-local, where cc = country code digits, area = area code digits, and local = local phone digits. Or enter q to quit: Q
  9. Phone Number Dissector ─ Robust Version ***:
  10. Implement a more robust version of the above phone number program. More specifically, allow for shortened phone numbers – phone numbers that have just a local digit group and nothing else, and phone numbers that have just a local digit group and an area code and nothing else. If the user enters just one digit group, your program should print question marks for the country code and area code. If the user enters two digit groups, your program should print a question mark for the country code. See the sample session for details. Sample session: PHONE NUMBER DISSECTOR Enter a phone number in the form cc-area-local, where cc = country code digits, area = area code digits, and local = local phone digits. Or enter q to quit: 816-7412000 country code = ? area code = 816 local phone number = 7412000 Enter a phone number in the form cc-area-local, where cc = country code digits, area = area code digits, and local = local phone digits. Or enter q to quit: 12345678 country code = ? area code = ? local phone number = 12345678 Enter a phone number in the form cc-area-local, where cc = country code digits, area = area code digits, and local = local phone digits. Or enter q to quit: q
  11. Net Present Value Calculation **:
  12. Implement a program that calculates the net present value for a proposed project. Before undertaking an expensive project, it is common for business financial analysts to calculate the net present value for the proposed project. The net present value tells the business financial analyst whether it would be wise to go forward with the project or not. A positive net present value says to go forward. A negative net present value says that the business would make more money by not going forward, and, instead, investing the proposed project’s expenses in the financial markets. To calculate a project’s net present value, you first need to obtain the project’s estimated net cash flow values. Net cash flow is the project’s income or loss at a particular time t. Here is an example, which shows 6 estimated net cash flow values for the life of a proposed project: Year 2012 = -$100,000 initial investment (cash outflow) Year 2013 = +$40,000 income (cash inflow) Year 2014 = +$40,000 income (cash inflow) Year 2015 = +$40,000 income (cash inflow) Year 2016 = +$20,000 income (cash inflow) Year 2017 = +$50,000 sale of remaining assets (cash inflow) After obtaining net cash flow values, the next step in finding a project’s net present value is to calculate the present value for each of its net cash flow values. The present value is today's equivalent value of an amount of money at a particular time in the future. You may have heard of the effect of compound interest. Compound interest converts a present value to a greater future value. Finding present value is just going the other way – converting future dollars back to equivalent present dollars. If that doesn’t make sense, that’s OK. Just use this formula to calculate the present value for a net cash flow at year y in the future: Where: • Cy is the net cash flow at year y • r is the discount rate, which is the estimated rate of return that could be earned on an investment in the financial markets • y – present year is the cash flow’s year minus the current year Note: The above formula refers to the present value and the net cash flow value at a particular year y. Present values and the net cash flow values are sometimes specified at non-yearly intervals, but it’s common to simplify matters by sticking to yearly intervals and that’s what we do. The final step in finding a project’s net present value is to sum all of the project’s present values. To see if you now understand how to calculate a net present value, use the six net cash flow values shown in the above example, use a discount rate of .06 (meaning that you anticipate a 6% annual return if you invest money in the financial markets), and use a present year of 2010. You should come up with a net present value of +53,511.27. As always, your program’s output format must: mimic the sample sessions precisely. In particular, note the spaces and the net present value’s plus or minus sign. You can generate the plus or minus sign with an if else statement, or you can generate it by using a particular printf flag. To learn about all of printf’s flags, search the Formatter class on Sun’s Java API web site. Sample session: Enter present year: 2010 Enter discount rate as a fraction: .06 Enter year of net cash flow: 2012 Enter net cash flow: -100000 Any more cash flows (y/n)? y Enter year of net cash flow: 2013 Enter net cash flow: 40000 Any more cash flows (y/n)? y Enter year of net cash flow: 2014 Enter net cash flow: 40000 Any more cash flows (y/n)? y Enter year of net cash flow: 2015 Enter net cash flow: 40000 Any more cash flows (y/n)? y Enter year of net cash flow: 2016 Enter net cash flow: 20000 Any more cash flows (y/n)? y Enter year of net cash flow: 2017 Enter net cash flow: 50000 Any more cash flows (y/n)? n Net present value = +53,511.27 Another sample session: Enter present year: 2010 Enter discount rate as a fraction: .1 Enter year of net cash flow: 2010 Enter net cash flow: -100000 Any more cash flows (y/n)? n Net present value = -100,000.00

Tags:

No Comment to " Java Programming Exercises part 4 : 6 Questions "