# 问题和练习：数字

> 原文： [https://docs.oracle.com/javase/tutorial/java/data/QandE/numbers-questions.html](https://docs.oracle.com/javase/tutorial/java/data/QandE/numbers-questions.html)

## 问题

1.  使用 API​​文档查找以下问题的答案：

    1.  您可以使用`Integer`方法将`int`转换为以十六进制表示数字的字符串？例如，什么方法将整数 65 转换为字符串“41”？

    2.  您将使用什么`Integer`方法将基数为 5 的字符串转换为等效的`int`？例如，如何将字符串“230”转换为整数值 65？显示您将用于完成此任务的代码。

    3.  您可以使用什么 Double 方法来检测浮点数是否具有特殊值 Not a Number（`NaN`）？

2.  以下表达式的值是什么，为什么？

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

    ```

## 演习

1.  更改 [`MaxVariablesDemo`](MaxVariablesDemo.java) 以显示最小值而不是最大值。您可以删除与变量`aChar`和`aBoolean`相关的所有代码。什么是输出？

2.  创建一个程序，从命令行读取未指定数量的整数参数，并将它们一起添加。例如，假设您输入以下内容：

    ```
    java Adder 1 3 2 10

    ```

    程序应显示`16`然后退出。如果用户只输入一个参数，程序应显示错误消息。您可以将程序基于 [`ValueOfDemo`](../../data/examples/ValueOfDemo.java) 。

3.  创建一个与前一个类似的程序，但有以下区别：

    *   它不是读取整数参数，而是读取浮点参数。
    *   它使用小数点右侧的两位数显示参数的总和。

    例如，假设您输入以下内容：

    ```
    java FPAdder 1 1e2 3.0 4.754

    ```

    程序将显示`108.75`。根据您的语言环境，小数点可能是逗号（`,`）而不是句点（`.`）。

[检查你的答案。](numbers-answers.html)