第一次編程做業

這個做業屬於哪一個課程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1
這個做業要求在哪裏 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11110
這個做業的目標

學習使用Git,瞭解Git的上傳以及更新文件,經過Jsoup查找雲班課分值 javascript

做業源代碼 https://gitee.com/RongC_Zhang/personal/tree/master/第一次做業/src/HomeWork_01
學號

211806360 html

所花時間及代碼量

代碼量:119行(註釋及空行)

需求分析時間:35分鐘

   1.審題:20分鐘

   2.理思路:15分鐘

代碼時間:7小時(包括查資料,感受有點磨蹭 )

分解思路

1.將html導入到eclipse中解析,得到Document對象(參考:從一個文件加載一個文檔).

File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

2.查找所有經驗值共同點(參考:從元素抽取屬性,文本和HTML).

    經過在HBuilder X中運行all.html和small.html文件找到所需的經驗值都在類class=interaction-row上.
doc.select("div[class=類名]").size(); //獲取全部class總個數.
doc.select("div[class=類名]").get(i); //指向第i個class.

3.查找相同類經驗值所在共同點(參考:在Java代碼中解析html,獲取其中的值方法).

    經過觀察html 在同一個class的多個span標籤中可得到最後一個標籤爲經驗值所在地方、第二個標籤爲該題經驗所對應的題型.
.select("span").size(); //獲取全部span總個數.
.select("span").get(i).text();//指向第i個span
.select("span").get(i).text();//指向第i個span的文本

4.判斷題型找出並取出經驗值.

    經過indexOf()判斷各個經驗值對應的題型(參考:JavaScript indexOf() 方法).
indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置.
indexOf():若是要檢索的字符串值沒有出現,則該方法返回 -1.

if(rows.indexOf("小測")!=-1)java

    並取出經驗值所在的span標籤文本

.select("span").get(spansize-1).text();//指向最後1個span標籤的文本(裏面帶有經驗值)git

5.經過isNum()函數計算對應題型所得到的經驗值.

public static int isNum(String str){
		String str1="";
		for(int i=0;i<str.length();i++){
			char chr=str.charAt(i);
			if(chr>=48 && chr<=57) str1+=chr;
		}
		int a=Integer.parseInt(str1);
		return a;
		}

6.讀取配置文件並根據題意進行相應的計算(略).

遇到問題

1.一些地方可能有更好的解決辦法,例如isNum()函數經過挨個遍歷字符串中字符獲取數字等.

2.花的時間太多,git尚未熟悉使用.

3.經過穎鵬同窗的建議給代碼加入了try catch.

新知識

1.認識和學習了Jsoup文檔,用於HTML的解析,取數等.

2.學到eclipse如何導入庫

其餘參考網站

在Java代碼中解析html,獲取其中的值方法(這個網站對於我如何定位class以及span標籤有很大的幫助)
Jsoup幫助文檔(提到Jsoup確定不能脫離它的幫助文檔)
Eclipse導入jsoup

想法

沒有想到本身能完成這個項目。基礎較薄弱,上學期網課有的沒有好好學,代碼程度感受也就保留在大一下與大二上的程度。寫完後有看其餘人完成的代碼,跟本身的代碼比更有深度。代碼比較簡單,感受能適合大多數基礎弱的同窗。(PS:但願能儘快把上半年網課落下的補回來).我以爲個人代碼比較好的就是能夠經過遍歷每一個class裏的span標籤在Eclipse上排列好在上面找規律,不用再回html中看標籤的規律
相關文章
相關標籤/搜索