當前位置:成語大全網 - 書法字典 - 如何用java在文本區做滿排列?在文本區域中輸入壹個數字,並查找小於或等於該數字的所有數字的完整排列。

如何用java在文本區做滿排列?在文本區域中輸入壹個數字,並查找小於或等於該數字的所有數字的完整排列。

/*

代碼測試通過了,這5分真的很難拿-_-||| |

全排名比較耗時,妳的測試數據不要大於8;哈哈的笑...7在我的電腦上大約需要5秒鐘...

*/

導入Java . util . *;

導入Java . io . *;

導入Java . awt . *;

導入Java . awt . event . *;

主類

{

static int[]ch = new int[10];

static int[]cha = new int[10];

static int[]flag = new int[10];

靜態框架fr =新框架(“小程序”);;

static final TextArea text = new TextArea();

靜態int I;

公共靜態void dfs(int x)

{

如果(x==i)

{

for(int k = 0;k & lt我;k++)

text . append(string . value of(cha[k]));

text . append(" \ n ");

}

其他

{

for(int k = 0;k & lt我;k++)

{

if(flag[k]==0)

{

flag[k]= 1;

cha[x]= ch[k];

DFS(x+1);

flag[k]= 0;

}

}

}

}

公共靜態void main(String[] args)引發IOException

{

fr.setSize(500,500);

fr . set visible(true);

fr.addWindowListener(新WindowAdapter()

{

公共void窗口關閉(WindowEvent e)

{

system . exit(0);

}

});

fr.add(文本);

fr . pack();

text.addKeyListener(新的KeyAdapter()

{

公共void按鍵(按鍵事件e)

{

if(e.getKeyCode()==KeyEvent。VK _回車)

{

I = integer . value of(text . gettext());

for(int j = 0;j & lt我;j++)

ch[j]= j+1;

Arrays.fill(flag,0);

text . append(" \ n ");

DFS(0);

}

}

});

}

}