作者MAXQb ()
看板AndroidDev
標題[問題] 請問TextView能一次顯示多個結果嗎?
時間Mon Jun 8 23:58:41 2020
就是希望有1~100裡取5個隨機的數字
public void button(View view) {
TextView textView=findViewById(R.id.textView);
for(int n,i=1;i<=5;i++){
n=(int)Math.random()100)+1
textView.setText(n+"");
}
}
但最後textView.setText(n+"");只會顯示出5個裡最後一個數字
有什麼辦法可以讓textView顯示全部5個數字嗎?
另外數字想要不重複的話該怎麼寫比較好??
感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.1.249 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1591631923.A.A92.html
1F:→ rin841005: 你可以先加在字串上最後在setText06/09 00:35
是要先把5個結果變成字串嗎?
2F:→ asadman1523: n= 改成n+=06/09 01:58
這樣語法好像有錯
3F:推 kevin31a2: 這看起來向回家作業…06/09 06:17
的確有點像,不過是自我練習就是
4F:推 aiweisen: 數字要不重複 比對list內是否有相同值 已經有值就重新06/09 07:05
5F:→ aiweisen: 取值06/09 07:05
嗯...用IF來寫嗎?
6F:推 aiweisen: 然後你可以用Stringbuilder append你的字串06/09 07:09
這就不懂了
7F:推 zcbxvsdf: 你每次setText都是設定,只會覆蓋原本內容06/09 18:07
8F:→ zcbxvsdf: 如何顯示5次的結果,你先自己思考看看06/09 18:08
先使用個陣列物件把5個結果的值放裡面,最後setText再一次顯示陣列裡的所有值嗎?
9F:→ zcbxvsdf: 思考方向對了,但是不用用到陣列,而是使用字串相加06/09 22:35
查了一下,是aiweisen說的用StringBuilder.append來做嗎?
嗯,可是他的看過做法還是不太知道詳細的該怎麼寫...
10F:→ zcbxvsdf: 1+1=2,"1"+"1"="11",我只能幫到這了06/10 00:40
感謝,我知道"1"+"1"="11"這個意思,只是我不知道該怎麼把n裡面的東西給單獨提取出
來
變成個別的字串這樣
11F:→ kobe8112: google關鍵字有一大堆部落格範例說明,看過了嗎?06/10 00:58
12F:→ kobe8112: 字串處理、字串相加....或直接打英文也可以, 06/10 00:58
這個我有看,是指先定義好String A="11"; String B="12"; String C=A+B;
System.out.println(C); 會顯示"1112"
但像n這個裡面有東西的就不知道該怎麼個別拿出來就是
13F:→ kobe8112: 建議初學要先練習找出關鍵字&看logcat,很有幫助的06/10 00:59
您是指Log.d嗎? 如果是的話我有看,裡面的確有5個值
14F:推 evo1994: 最簡方法 setText改成append06/10 02:28
喔!!有顯示出全部的值了,但是他要怎麼給每個值都分開來呢?
15F:→ ou9810: 寫程式不是短就是好,比較好的做法是先在迴圈裡串好字串06/10 11:50
16F:→ ou9810: 出迴圈再用setText,這樣系統就不會一直重繪浪費效能06/10 11:52
17F:→ ou9810: 這樣你也比較好debug06/10 11:53
了解
我原本的預想是用IF來跑,第一個值setText一次,但後來發現這樣也不對就是
※ 編輯: MAXQb (111.243.3.133 臺灣), 06/10/2020 13:14:31
18F:推 panjiongkai: 每個值要分開 就在append的時候多塞一個分隔符號或是 06/10 13:48
19F:→ panjiongkai: 空白之類的字元06/10 13:48
請問他的位置是在append.的()裡嗎?
20F:→ chenx5: 在回圈外層的上面定一個變數字串,在回圈內將字串+=n,最06/10 16:48
21F:→ chenx5: 後在回圈外的下面再把字串顯示就好,這樣試試06/10 16:48
+=n這樣用意是提取裡面的值嗎?
22F:→ ou9810: 初學的話還是要學一下基本語法,還有語言特性 06/11 10:14
23F:→ ou9810: 不然你寫完也是不懂為什麼結果是這樣 06/11 10:16
了解,感謝。
另外append.這個使用後,再點一次按鈕他出現的數字增加了(變成10個)
所以好像也不太對
24F:→ daniel098962: 你這問題代表你一些基本的特性很不了解喔~ 06/12 00:50
25F:→ daniel098962: 每按一次就要把原本的字串給清空 否則你每多按一次 06/12 00:50
26F:→ daniel098962: 就又加五筆數字串進去 06/12 00:50
了解,所以要加入個判斷的意思?
27F:→ daniel098962: 或是每次要顯示的字串都在那個function裡重新宣告 06/12 00:57
嗯...請問這個是屬於Java的問題,還是要往Android那找問題呢?
28F:→ daniel098962: 不要把變數存成全域 06/12 00:57
了解
※ 編輯: MAXQb (111.243.6.240 臺灣), 06/12/2020 02:19:27