1. 程式人生 > >《Java技術》第一次作業——Java語言基礎

《Java技術》第一次作業——Java語言基礎

價格 萬年歷 很好 控制臺 舉例 人的 區別 產生 ann

(一)學習總結
1.在java中通過Scanner類完成控制臺的輸入,查閱JDK幫助文檔,Scanner類實現基本數據輸入的方法是什麽?不能只用文字描述,一定要寫代碼,通過具體實例加以說明。

   Scanner這個類,可以很方便的從控制臺讀取內容,導入所需類的文件夾(包)import java.util.Scanner;拿出你要使用的工具.Scanner,實例化Scanner對象。使用鍵盤輸入功能,註意:in為普通變量,可以隨便改Scanner in=new Scanner(System.in);提示鍵盤輸入內容。 輸入正確值後按回車結束.System.out.println("請輸入整數");開始利用鍵盤輸入值in,並存貯到定義的變量中.int num=in.nextInt();根據所輸入的數字進行相關的運算.(調用變量中值開始使用);System.out.println("你所輸入的數字的平方數是:"+(num*num));

技術分享圖片

2.Random類和Math類的random()方法都能產生隨機數,這兩種方式有什麽區別,各有什麽特點呢?查閱JDK幫助文檔,並舉例加以說明。

util的random是一個類:包含nextInt(),nextDouble ()等類似的方法。
math的random只是一個方法:返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。
例如,對比兩種方法產生的隨機數:
技術分享圖片
技術分享圖片
兩種方法都能夠起到相同的作用,但是,如果許多線程需要以極高的速率生成偽隨機數,Math.random()可能會減少每個線程對擁有自己偽隨機數生成器的爭用。所以很多應用程序會發現 Math.random() 方法更易於使用。

3.運行下列程序,結果是什麽?查閱資料,分析為什麽。
技術分享圖片
為了處理精度損失的問題,可以使用java.math.BigDecimal類,查閱JDK幫助文檔或教材p378,對上述程序進行修改。
浮點型數據在進行運算時有極小誤差。
可以使用java.math.BigDecimal類,只進行數值的運算。
如下:
技術分享圖片
結果為:
技術分享圖片
4.本次學習要點中其他需要總結的內容:因人而異,根據自己的學習情況,記錄難掌握或難理解的內容,以及學有心得的內容。還存在哪些問題,也可以提出來,對於同學在博客中提出的問題,大家可以積極討論,互幫互學

.本次的學習總結
1、運行程序時經常會出現這種情況,請老師指點一下:
技術分享圖片
2、對方法的調用過程還是不太熟練,總是將一些問題想得太過於簡單。
3運用輸入、隨機數等都需要導入所需類的文件包才可;
Java和c在邏輯有著很多共同點,只是在語法方面有所不同,但Java比c增加了更多的功能,適用性更加廣泛,所以學過c再接觸Java並不會有太多的難點。
4、運用數組時,一定要註意數組的下標是否會越界的問題。盡量使用系統自帶的.length的方法表示長度。

1、看商品猜價格
程序設計思路:
運用Random函數產生隨機數,輸入價格進行判斷,並把猜測的結果輸出。
實驗問題分析:
問題:初期對java程序的輸入和輸出不是很熟練,在輸入和輸出的時候經常會出錯。
原因:沒有對輸入和輸出的方式進行很好的理解。
解決方案:看書看課件充分理解了java程序的基本格式。

2.萬年歷

程序設計思路:
判斷用戶輸入的年份是否是閏年,再計算出距1990年有多少年並通過用戶輸入的月份計算出距1990年1月1日有多少天,可以得到日期對應的是星期幾,之後計算月初對應的星期以及月份對應的天數並一一對應輸出。

實驗問題分析:

問題:輸入的萬年歷每月的1號和周幾對不上
原因:調用函數時出現了問題
解決方案:對程序進行了修改,在恰當的地方調用了函數

3、評分系統
程序設計思路:
定義方法求出最大值最小值平均值,在主函數中進行控制和調用。最後輸出對個人的評分。
實驗問題分析:
問題:雙層循環套用,卻只進行內層循環
原因:丟掉了外層for循環的大括號
解決方案:在對應位置加上了大括號
問題:評分中不會運用數組接收每個人的最大最小值
原因:定義評分最大最小值只能是一維數組。每個人的分數均有最大最小值
解決方案:用一維數組來接收最值以及分均值

碼雲提交歷史截圖
技術分享圖片

《Java技術》第一次作業——Java語言基礎