Download the JDK
Search the Tutorials
Trail: Learning the Java Language
Lesson: Numbers and Strings
Home Page > Learning the Java Language > Numbers and Strings
Answers to Questions and Exercises: Numbers

> ### Questions

> > Question 1: Use the API documentation to find the answers to the following questions:

> > > Question 1a: What `Integer` method can you use to convert an `int` into a string that expresses the number in hexadecimal? For example, what method converts the integer 65 into the string "41"?
> > > Answer 1a: `toHexString`

> > > Question 1b: What `Integer` method would you use to convert a string expressed in base 5 into the equivalent `int`? For example, how would you convert the string "230" into the integer value 65? Show the code you would use to accomplish this task.
> > > Answer 1b: `valueOf`. Here's how:

> > > >     String base5String = "230";
> > > >     int result = Integer.valueOf(base5String, 5);

> > > Question 1c: What Double method can you use to detect whether a floating-point number has the special value Not a Number (`NaN`)?
> > > Answer 1c: `isNaN`

> > Question 2: What is the value of the following expression, and why?

> > >     Integer.valueOf(1).equals(Long.valueOf(1))

> > Answer 2: False. The two objects (the `Integer` and the `Long`) have different types.

> ### Exercises

> > Exercise 1: Change `MaxVariablesDemo` to show minimum values instead of maximum values. You can delete all code related to the variables `aChar` and `aBoolean`. What is the output?
> > Answer 1: See `MinVariablesDemo`. Here is the output:

> > >     The smallest byte value is -128
> > >     The smallest short value is -32768
> > >     The smallest integer value is -2147483648
> > >     The smallest long value is -9223372036854775808
> > >     The smallest float value is 1.4E-45
> > >     The smallest double value is 4.9E-324

> > Exercise 2: Create a program that reads an unspecified number of integer arguments from the command line and adds them together. For example, suppose that you enter the following:

> > >            java Adder 1 3 2 10

> > The program should display `16` and then exit. The program should display an error message if the user enters only one argument. You can base your program on `ValueOfDemo`.
> > Answer 2: See `Adder`.

> > Exercise 3: Create a program that is similar to the previous one but has the following differences:

> > - Instead of reading integer arguments, it reads floating-point arguments.
> > - It displays the sum of the arguments, using exactly two digits to the right of the decimal point.
> > For example, suppose that you enter the following:

> > >     java FPAdder 1 1e2 3.0 4.754

> > The program would display `108.75`. Depending on your locale, the decimal point might be a comma (`,`) instead of a period (`.`).
> > Answer 3: See `FPAdder`.

Previous page: Questions and Exercises: Numbers