使用 FLEX-AS3 實作 JAVA 陣列行列轉換
使用 FLEX-AS3 實作 JAVA 已經好久沒有出現囉,這個利用 TQC JAVA 認證所出的題目可以訓練大家 FLEX 的基礎功喔,有興趣的初學者也可以一起做,今天用很快的速度把第5題做了出來,也沒有加了太多的東西啦,因為本來題目是需要使用 DOS 模式輸入,既然已經轉成 RIA 的介面,當然要套用我們 FLEX 的手風琴 Accordion 元件啦,並且把輸入的欄位直接放在 DataGrid 內,直接點擊就可以改資料了。
題目 : 105. 陣列行列轉換 (易)
請完成程式,使『陣列行列轉換』程式正常執行。使用者可輸入一個 m * n 的陣列,該陣列經程式轉換後輸入出為 n * m 的陣列 :
檢查項目
- 程式可依使用者輸入之 m * n ,要求使用者輸入陣列的列數以及每列資料個數。
- 程式可將使用者輸入之 m * n 陣列轉換成 n * m 的陣列。
應用元件
- Accordion 手風琴顯示元件的簡易應用。
- 二維陣列的產生方式,以及取出方式。
- DataGrid 的直接修改方式,以及不顯示標題。
JVD02FLEX.mxml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="14">
<mx:Script>
<![CDATA[
[Bindable]
private var arry1:Array ;
[Bindable]
private var arry2:Array ;
private function setArrayHandler():void{
//建立一個 M * N 的陣列 並且初始話全部都是 0
this.arry1 = new Array();
for(var i:int=0;i< parseInt(this.userArrayX.text) ; i++){
var tmpArray:Array = new Array();
for(var j:int=0;j< parseInt(this.userArrayY.text); j++){
tmpArray.push(0);
}
arry1.push(tmpArray);
}
}
private function changeArrayHandler():void{
//將陣列內容的 列與欄 順序交換
this.arry2 = new Array();
for(var i:int=0;i< parseInt(this.userArrayY.text) ; i++){
var tmpArray:Array = new Array();
for(var j:int=0;j< parseInt(this.userArrayX.text); j++){
tmpArray.push(arry1[j][i]);
}
arry2.push(tmpArray);
}
}
]]>
</mx:Script>
<mx:Accordion id="accordion" width="402" height="330" fontSize="14">
<mx:Canvas label="請輸入陣列範圍" width="100%" height="100%">
<mx:VBox width="100%" height="100%">
<mx:Form width="300">
<mx:FormItem label="列數">
<mx:TextInput id="userArrayX"/>
</mx:FormItem>
<mx:FormItem label="欄位數">
<mx:TextInput id="userArrayY"/>
</mx:FormItem>
<mx:FormItem>
<mx:Button label="送出" click="setArrayHandler()"/>
</mx:FormItem>
</mx:Form>
</mx:VBox>
</mx:Canvas>
<mx:Canvas label="請輸入陣列內容" width="100%" height="100%">
<mx:VBox width="100%" height="100%">
<mx:Label text="請點擊欄位修改內容"/>
<mx:DataGrid dataProvider="{this.arry1}" editable="true" showHeaders="false"/>
<mx:Button label="轉換陣列" click="changeArrayHandler()"/>
</mx:VBox>
</mx:Canvas>
<mx:Canvas label="陣列結果" width="100%" height="100%">
<mx:VBox width="100%" height="100%">
<mx:DataGrid dataProvider="{this.arry2}" showHeaders="false"/>
<mx:Label text="原始陣列"/>
<mx:DataGrid dataProvider="{this.arry1}" editable="true" showHeaders="false"/>
</mx:VBox>
</mx:Canvas>
</mx:Accordion>
</mx:Application> |
Random Posts
Loading…
相關文章 :











近期回應