[問題] 新手小問題 member variables, type cast

看板java作者 (marketcos)時間11年前 (2013/12/08 20:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
在下新手, 有一些煩雜小問題, 希望有人可以幫我明確一下... 一. 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
文章代碼(AID): #1If6ePZ_ (java)
文章代碼(AID): #1If6ePZ_ (java)