以亂數產生10 組號碼 (0 ~ 99), 然後利用氣泡排序法以及降幕方式排列將結果顯示出來 !
運作原理 :
亂數產生的部分我使用 Math.random() 內建函數, 它會產生 0.0 ~ 0.1 的值, 由於其型態為 double, 我將它轉換型態成為 int 後, 讓它以整數型態呈現, 按下 [ 開始 ] 按鈕後產生 10 組亂數, 並同時進行排序, 程式中我用氣泡排序法, 讓數值由小到大排列.
第一次執行的畫面 |
按下開始鈕後的執行畫面 |
程式碼如下 :
import ... (略)
public class RndAndSort extends Activity {
/** Called when the activity is first created. */
int[] sort = new int[10];
int rnd;
String st,temp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView textView1=(TextView)findViewById(R.id.textView1);
final TextView textView2=(TextView)findViewById(R.id.textView2);
final Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
st = ""; temp = "";
for (int i=0; i<10; i++) {
rnd = (int)(Math.random() * 100);
sort[i] = rnd;
temp = String.valueOf(rnd);
st += (temp + ", ");
}
textView1.setText(st);
for (int i=0; i<9; i++)
for (int j=i+1; j<10; j++)
// 改變下式中的大、小於符號可變更排列順序
// < 由大到小, > 為小到大排列
if(sort[i]>sort[j])
{
int tempNum;
tempNum=sort[i];
sort[i]=sort[j];
sort[j]=tempNum;
}
st = "";
for (int i=0; i<10; i++)
st += (String.valueOf(sort[i]) + ", ");
textView2.setText(st);
}
});
}
}
沒有留言:
張貼留言