Java中的包装器和扫描器类

时间:2014-09-22 01:43:35

标签: java wrapper

这些是作业的说明:

    For this Question, you will be using two of the prominent wrapper classes to convert String variables
    which represent numerical data into primitive types as instances of the wrapper classes. 
    As part of this Question you will be using a Scanner object to read in user input.
    There are also 2 previously declared and instantiated String object references, value1 and value2
    that you will use as part of this exercise. 

    1) Declare an int variable with the identifier parsedInt, and double variable with the identifer parsedDouble
    2) Use a static method of the Integer class to convert the String object reference value1 to an int
        and assign that value to the parsedInt variable. 
    3) Use a static method of the Double class to convert the String object reference value2 to a double
        and assign that value to the parsedDouble variable. 
    4) Declare 2 Double variables with identifiers of your choosing.
    5) Declare an instantiate a Scanner variable (object reference) with the identifier of your choosing
        Make sure that it can read from the Java console (System.in) and that you have imported the Scanner class
    5) Using a static method of the Double class, convert String values read in from the console
        (by calling the nextLine method on your Scanner object reference) to the Double type 
        and assign them to the two Double object references declared in the previous step. 
    6) Declare 2 boolean variables with the identifiers isInfinite and isNaN
    7) Call methods on your Double object references to make the following tests and store the result in the proper variable
        Use a method to test if the first value that you read in from the console is Infinite
        Use a method to test if the second value that you read in from the console is Not a Number (NaN)
    8) Declare an int variable result 
    9) Convert the values of the two Double object references to integers
        and subtract the second number that was read in from the first that was read in
        and assign the result of that mathematical expression to the variable result

我的问题从5号开始。我不太确定我被要求做什么,而且我不知道如何将字符串值转换为双倍。这就是我到目前为止所做的:

    double woof1, woof2;
    boolean isInfinite, isNaN;
    int result;

    Integer parsedInt = new Integer(value1);
    Double parsedDouble = new Double(value2);

    Scanner scan = new Scanner(System.in);

更新 现在我有了这个

    double woof1, woof2;
    boolean isInfinite, isNaN;
    int result;

    Integer parsedInt = new Integer(value1);
    Double parsedDouble = new Double(value2);

    Scanner scan = new Scanner(System.in);

    woof1 = Integer.parseInt(scan.nextLine());
    woof2 = Double.parseDouble(scan.nextLine());

现在我不知道怎么做7号。

2 个答案:

答案 0 :(得分:1)

首先 - 你有扫描仪的参考。这是一个开始,但我建议你在声明任何其他数字类型之前来。

其次 - 所有数字包装器(例如IntegerLongDouble都支持parse###方法,其中包含它们的基本类型的名称正在解析。他们以String为正式论证。例如,对于Integer包装器,其解析方法为Integer.parseInt()

第三,从Scanner实例中读取一行就像scan.nextLine()一样简单。如果该行包含您要解析的数字,并且您想要解析Double,那么请考虑Double.parse###实际上是什么。我将此作为练习留给读者。

答案 1 :(得分:0)

简单地做

double parsedDouble = Double.parseDouble(scan.nextLine());

然而,这是一个愚蠢的问题,因为它会更好

double parsedDouble = scan.nextDouble();