作者marketcos (marketcos)
看板java
标题[问题] 新手小问题 member variables, type cast
时间Sun Dec 8 20:46:14 2013
在下新手, 有一些烦杂小问题, 希望有人可以帮我明确一下...
一.
Member variables in a class—these are called fields.
是不是不说管是instance variable或是class variable/static variable, 只要定义
在CLASS之中, 就是该CLASS的 field或是说Member variable呢?
二.
关於Type Cast的习题:
1. Suppose that speed is a variable of type double and you want to assign
Math.round(speed) to the variable approxSpeed, which is of type int.
How do you write the assignment statement?
2. Repeat the previous question, but instead assign Math.round(speed) to
the variable longSpeed, which is of type long.
回答:
1. double speed;
int approxSpeed = (int)Math.round(speed);
2. long longSpeed = (long)Math.round(speed)
首先, 我想确认一下, 我的回答部分是否正确, 另外, 我的问题是...
是不是只要精确的变数转成较不精确的变数, 都可以使用以上这种方法,
如果今天是要把INT转成DOUBLE呢???
三.
课本习题:
Which of the following statements are legal?
Integer n = new Integer(77);
int m = 77;
n = m;
m = n;
If any are illegal, tell how to write a valid Java statement that does what
the illegal statement is trying to do.
我想,最後m和n都会是77,应该都int吧???
四.
印DOUBLE印不出来...
执行的CODE如下
Scanner keyboard = new Scanner(System.in);
double aDouble = keyboard.nextDouble();
System.out.print(aDouble);
输入的是 5.678
但为何输出变成 5678.0???
再执行以下CODE
double testDouble = 5.67;
System.out.println(testDouble);
Scanner keyboard = new Scanner(System.in);
double testDouble2 = keyboard.nextDouble();
System.out.println(testDouble2);
double amount;
Scanner keyboard2 = new Scanner(System.in);
amount = keyboard2.nextDouble();
後面二段会出现run time error
java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextDouble(Scanner.java:2456)
at Demo.main(Demo.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
不解为何印个DOUBLE会变成酱子
然後...
很弱地问一下, 有没有METHOD可以印出目前资料的TYPE
有GOOGLE, 但找不到想要的内容
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 134.2.251.34