日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java 第六次作业

發(fā)布時間:2024/4/15 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 第六次作业 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

(一)學(xué)習(xí)總結(jié)

1.本周的思維導(dǎo)圖

2.出現(xiàn)異常的處理過程

  • printStackTrace方法的輸出結(jié)果:
java.lang.Exception: Exception thrown in method3at PrintExceptionStack.method3(PrintExceptionStack.java:20)at PrintExceptionStack.method2(PrintExceptionStack.java:16)at PrintExceptionStack.method1(PrintExceptionStack.java:12)at PrintExceptionStack.main(PrintExceptionStack.java:4)
  • getMessage 方法的輸出結(jié)果:
java.lang.Exception: Exception thrown in method3
  • 異常的傳播過程: try代碼段寫出現(xiàn)異常的語句,catch語句塊捕獲這個異常

3.關(guān)于如何刪除集合元素

  • 如果刪除的是books集合的最后一個對象,運(yùn)行結(jié)果是:
原始元素之后:[One book, Two book, Three book]One bookTwo bookThree bookException in thread "main" java.util.ConcurrentModificationExceptionat java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)at java.util.ArrayList$Itr.next(ArrayList.java:791)at test.Test.main(Test.java:17)
  • 錯誤原因:如果刪除的是最后一個對象,輸出時迭代器的大小沒有發(fā)生改變,集合的內(nèi)容能夠正常輸出;當(dāng)對最后一個對象進(jìn)行刪除時,迭代器的大小發(fā)生變化產(chǎn)生異常

  • 在遍歷中實現(xiàn)刪除集合中的元素,使用迭代器的remove方法進(jìn)行刪除

  • 代碼如下:

while (it.hasNext()) {String book = (String) it.next();System.out.println(book);if (book.equals("One book")){it.remove();}}

4.關(guān)于HashSet

  • 存入相同信息的原因:因為兩個相同信息的內(nèi)容相同,但是內(nèi)存空間不同,兩個引用不同,所以有重復(fù)元素出現(xiàn)

  • 如果要想去掉重復(fù)元素,要重寫hashCode()方法和equals()方法

  • 代碼如下:

public int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((id == null) ? 0 : id.hashCode());result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}public boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Student other = (Student) obj;if (id == null) {if (other.id != null)return false;} else if (!id.equals(other.id))return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}

5.其他需要總結(jié)的內(nèi)容。

  • 在一個try語句塊中,基類異常的捕獲語句必須寫在子類異常的捕獲語句之后。
  • 在泛型的指定中,無法指定基本數(shù)據(jù)類型,必須設(shè)置成一個類
  • 如果一個類中有多個屬性需要使用不同的泛型聲明,則可以在聲明類的時候指定多個泛型類型。

(二)實驗總結(jié)

1.模擬KTV點(diǎn)歌系統(tǒng)

  • 程序設(shè)計思路:設(shè)計一個KTV類,包含歌曲名稱屬性和歌手姓名屬性;創(chuàng)建ArrayList對象,元素為KTV類 LinkedList
  • 問題1:新添加進(jìn)去的歌曲無法顯示出來
  • 原因:聲明集合空間的語句在for循環(huán)里面啦,導(dǎo)致存放歌曲菜單的集合無法隨時更新
  • 解決方案:把聲明空間的語句放在for循環(huán)里面
  • 問題2:按一下操作2,就會讓你一直添加歌曲,沒法跳出這個操作
  • 解決方案:本來寫的是用for循環(huán),后來一直添加沒法跳出這個操作,就直接去掉了for循環(huán),不過就是變得有些麻煩啦

2.模擬微博用戶注冊

  • 程序思路:
    創(chuàng)建一個用戶類,存儲用戶的用戶名、密碼、生日、手機(jī)號、郵箱等屬性;
    創(chuàng)建一個檢校信息類,包含校驗方法,判斷用戶輸入信息是否合法;另一個校驗方法判斷用戶名、手機(jī)號、郵箱是否重復(fù)注冊;
    創(chuàng)建一個用戶注冊類,執(zhí)行用戶注冊過程:用戶輸入各項信息后,判斷信息是否合法、是否重復(fù),如果信息合格,則注冊成功,用戶信息添加到HashSet類集中。
  • 問題1:校驗手機(jī)號碼與郵箱信息時,不會使用正則表達(dá)式進(jìn)行校驗
  • 原因:對正則表達(dá)式還是沒能熟練掌握
  • 解決方案:多看幻燈片和課本,把知識活學(xué)活用
  • 問題2:不會判斷用戶是否重復(fù)注冊
  • 解決方案:用迭代器遍歷類集所有的對象,判斷是否有相同的,如果有,則是重復(fù)注冊

(三)代碼托管

代碼鏈接
https://git.oschina.net/hebau_cs15/hebau-cs01GHJ.git

碼云歷史截圖

commit歷史截圖

轉(zhuǎn)載于:https://www.cnblogs.com/jie0425/p/6792218.html

總結(jié)

以上是生活随笔為你收集整理的Java 第六次作业的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。