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