Instructions: Answer as many of the following questions as you can during the lab period. If you are unable to complete the assignment during the lab period it is strongly recommended that you complete it on your own.
Getting Ready: Before going any further, you should:
SpeedPrinter.java.
public static final double MILES_PER_KILOMETER = 0.621371;
declares and initializes a:String
double
double
kph is a:String
double
double
toNonnegativeDouble() is a:String
double
double
/ is a:String
double
SpeedPrinter
class?SpeedPrinter class?SpeedPrinter class?main()
function?main() function?main() function?SpeedPrinter.java.
SpeedPrinter with a single command line argument
of 100.0
SpeedPrinter.java
before you can execute it again?SpeedPrinter with two command line arguments,
60.0 and 70.0
main() method so that it
contains the following code:
double kph;
double mph;
mph = Text.toNonnegativeDouble(args[0]);
kph = mph / MILES_PER_KILOMETER;
System.out.println(kph);
mph = Text.toNonnegativeDouble(args[1]);
kph = mph / MILES_PER_KILOMETER;
System.out.println(kph);
SpeedPrinter.java.
SpeedPrinter.java
(even though you compiled it earlier)?.class file is now out of dateSpeedPrinter.java.
SpeedPrinter with two command line arguments,
60.0 and 70.0
SpeedPrinter.java?SpeedPrinter class
(in an appropriate spot):
/**
* A function for converting a speed in mi/hr to
* a speed in km/hr and printing the result
*
* @param text A String representation of the speed in mi/hr
*/
public static void printKPH(String text)
{
double kph;
double mph;
mph = Text.toNonnegativeDouble(text);
kph = mph / MILES_PER_KILOMETER;
System.out.println(kph);
}
printKPH() declared to be void?printKPH()?String
double valuemain(), replace the body of the
main() method with the following:
SpeedPrinter.printKPH(args[0]);
SpeedPrinter.printKPH(args[1]);
SpeedPrinter.java.
SpeedPrinter with two command line arguments,
60.0 and 70.0
printKPH(). That is, change those two lines to the following:
printKPH(args[0]);
printKPH(args[1]);
SpeedPrinter.java. Note that there are no errors.
SpeedPrinter class, trace the execution
when it is run with a single command-line argument.
public class SpeedPrinter
{
static final double MILES_PER_KILOMETER = 0.621371;
public static void printKPH(String text) // 1
{
double kph;
double mph;
mph = Text.toNonnegativeDouble(text); // 2
kph = mph / MILES_PER_KILOMETER; // 3
System.out.println(kph); // 4
}
public static void main(String[] args) // 5
{
printKPH(args[0]); // 6
printKPH(args[1]); // 7
}
}
Specifically, list (the numbers of) all of the statements as they
will be executed. (Hint: The main() function is
called the entry-point.)
SpeedSetter.java
toKPH() declared to be a double?double valuedouble valuetoKPH() in main()
does not include the class name.
SpeedSetter
compile without errors in spite of this?toKPH() is in the same class
as main()
toKPH() has a descriptive nametoKPH() doesn't do anythingSpeedSetter.java
Converter.java that contains the
following:
/**
* A utility class that can be used to convert values of
* various kinds
*/
public class Converter
{
}
SpeedSetter.java and paste it in the first blank line
in the Converter class.
toKPH() (and its comments) in
SpeedSetter.java and paste it in the last blank line
in the Converter class.
Converter.java (It should compile without errors.)
SpeedSetter.java
SpeedSetter.java, change the call to toKPH()
to the following:
kph = Converter.toKPH(mph);
SpeedSetter.java (It should now compile without
any errors.)
Dashboard class contains a function named
setSpeed() that is passed a double containing
a speed in km/hr and displays it on a speedometer.
SpeedSetter.java so that, instead of
printing the value in kph it passes it to the
setSpeed() function in the Dashboard
class.
SpeedSetter.java (It should compile without any
errors.)
SpeedPrinter with a single command line argument
of 60.0
Converter class in between
the } that ends the method toKPH() and
the } that ends the class.
/**
* Multiply a speed by 2
*/
public static double double(double mph)
{
return 2.0 * mph;
}
Converter.java
twice() (i.e., change the
second double to twice).
Converter.java (It should compile without errors.)
twice()
function. In other words, your code should now look like:
public static double twice(double mph);
{
return 2.0 * mph;
}
Converter.java
twice() to below the
last }.
Converter.java
twice().
Converter.java (It should compile without errors.)
Copyright 2013