Skip to main content

App Inventor 2練習:清單(List)及清單選擇器(ListPicker)

 

何謂「清單」(List)?

 

我們可以用「變數」來儲存資料,就像是「抽屜」一樣,一個抽屜只能儲存一筆資料。但是當資料的數量一多之後,我們就沒辦法幫變數一一命名(如a1、a2、a3…),會相當不方便而也沒效率。

這時候我們就可以把「抽屜」變成是一排「有編號的置物櫃」,在程式設計裡面叫做「陣列」(Array),一個陣列只需要一個名稱,後面再加上資料的編號,就可以透過「迴圈」的方式快速將裡面的資料給取出並加以運算。

而「陣列」在App Inventor 中名為「清單」(List)。

 

 

清單的宣告

先取得「變數」,再拼接「清單」,以「變數」為「清單」命名。清單中資料的數量可以按下左邊的藍色齒輪來增加。

例如我們要計算某個同學的月考(共五科)成績的總分及平均,可以先這樣設計:

清單中的每一個項目都會被「編號」,這些編號,我們稱為「索引值」(Index),App Inventor 的索引值是從「1」開始的。

 

 

清單的操作

1.取出清單資料

如果想要取出清單中某個資料,可以用「選擇清單……中索引值為……的清單項」。

例如我要取出該生的第3筆成績,可以這樣寫:

顯示的結果就會是100。

2.新增清單資料

可以在清單指定的位置處插入一筆資料。

例如我想在五個成績之前(索引值為1)的地方插入一個60分,可以這樣寫:

如此一來原本清單中的資料的「索引值」就會自動加1,也就是位置往後移一位。

如果插入的位置錯誤,例如清單資料只有6筆,插入的位置最多為7,如果你寫了10,就會出現以下錯誤:

3.刪除某筆清單資料

刪掉清單中某一筆資料:

4.取代某筆資料

修改清單中某一筆資料:

5.找出清單資料

想搜尋某個資料是否存在於清單中,可以這樣寫:

傳回的值就是該資料位於清單的索引值。如果沒有找到則傳回0。

如果有多筆資料相同?  ==>傳回第一個找到的

 

6.隨機取一個清單中的資料

可拿來設計需要亂數產生內容的程式,例如抽獎遊戲、擲骰子、撲克牌發牌、抽籤……等等。

7.求清單的資料有幾筆

 

 

 

 

APP設計練習:

求「成績」這個清單中,所有的成績的總分及平均。

設計要領:

  • 透過「迴圈」來逐一加總清單中的每筆資料。
  • 要記得先求出「清單長度」(資料共有幾筆)
  • 取得清單中的每筆資料時,要記得將「索引值」設定為迴圈的變數。