Landing : Athabascau University

Problem 2

Last updated February 15, 2021 - 8:18pm by Alexander Newman

I began this problem by creating my class and main, and declaring my variables. I figured that I needed 2 variables of class double for storing user input and the output from the calculation, and 1 variable type string for the unit the user wanted to convert (C/F). I realized shortly afterwards that i would need another variable of type string for the user to input whether they wanted to continue convering or not (Y/N). 

I knew that I would need a while loop, so the user could repeat the program several times if they wanted. I began with a while the condition.equals "Y" and prompted the user to enter a temperature with an output, and an input using scanner. Then I asked for the units the same way and began with a if statement for each circumstance, celcius or fahrenheit. If the user entered a C, i made a formula for the output using the formula given, and vice versa for fahrenheit. I then printed out the conversion and prompted the user to enter whether they wanted to continue (Y/N) using scanner. I ctlr c + v this if statement and replaced the formula with the one for fahrenheit given. 

After this I compiled and debugged my program a bit before giving it a try. Immediately I realized I had a few things to tweak, specifically that the program crashed if the person didnt enter exactly a capital F or C, same with the Y or N prompt. Also their was a problem if a person entered a string instead of a number in the temperature input. After some research I learned about the equalsIgnoreCase which I could use in my while and if statements so that it didn't matter whether the letter entered was capital or lowercase. I also wanted the user to be prompted to enter a f or c if they entered something else, so I added an else statement at the end of my while loop that would be triggered if the input was something different than a C or F. 

The only issue I had remaining was the problem where if a person entered something other than a number for a temperature the program would crash. I played around with trying to figure out exceptions and try...catch statements but couldn't get anything to work. I also tried an if statement but it made my program not work at all so I took it out and left the bug. Maybe I will learn how to change this further on in the course.


These comments are moderated. Your comment will not be visible unless accepted by the content owner.

Only simple HTML formatting is allowed and any hyperlinks will be stripped away. If you need to include a URL then please simply type it so that users can copy and paste it if needed.