首頁 > FLEX, 程式設計 > 使用 FLEX-AS3 實作 JAVA 陣列行列轉換

使用 FLEX-AS3 實作 JAVA 陣列行列轉換

2009年2月24日  瀏覽次數 : 4,034

使用 FLEX-AS3 實作 JAVA 已經好久沒有出現囉,這個利用 TQC JAVA 認證所出的題目可以訓練大家 FLEX 的基礎功喔,有興趣的初學者也可以一起做,今天用很快的速度把第5題做了出來,也沒有加了太多的東西啦,因為本來題目是需要使用 DOS 模式輸入,既然已經轉成 RIA 的介面,當然要套用我們 FLEX 的手風琴 Accordion 元件啦,並且把輸入的欄位直接放在 DataGrid 內,直接點擊就可以改資料了。

image

 

題目 : 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…

:: 把這篇好文推到書籤網站與更多人分享吧 ::
  • funp
  • Hemidemi
  • YahooKimo
  • Google
  • udn
  • Haohao
  • Live

相關文章 :

Ausir FLEX, 程式設計 , , , , , , ,

  1. 本篇文章目前尚無任何評論。
  1. 本篇文章目前尚無任何 trackbacks 和 pingbacks。