bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

java頻繁算法代碼 java常見的算法

JAVA 求助一段算法代碼!求大神~~~~~

看完你的,自己寫了一個。很簡陋。你的改動比較大。一時半會改不了。

成都創新互聯公司于2013年成立,先為龍亭等服務建站,龍亭等地企業,進行企業商務咨詢服務。為龍亭企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

你的寫好了。改動有點大。鼠標事件mousePressed()中實現移動。由于時間沒做優化,主要處理方法是判斷當前listenerPanel的上下左右是否存在上面是0的listenerPanel,存在則交換上面數字及背景顏色。自己可以優化下里面代碼,

思路:

PuzzleTile jb = (PuzzleTile) e.getSource();

for(int i=0;ilistenerPanel.length;i++){

if(jb.equals(listenerPanel[i])){

//判斷當前listenerPanel[i]上下左右是否存有listenerPanel的上面數字是0的,如果存在

則把當前的listenerPanel[i]的背景顏色及數字與上面是0 的交換。判斷周圍是否存在有點及是否交換有點復雜。

}

}

代碼修改如下:少量注釋

import java.awt.Color;

import java.awt.Font;

import java.awt.FontMetrics;

import java.awt.Graphics;

import javax.swing.*;

public class PuzzleTile extends JPanel{

private String tileNumber;

public PuzzleTile(int number) {

super();

if (number == 0) {

this.setBackground(Color.white);

}

else {

this.setBackground(Color.darkGray);

}

this.tileNumber = "" + number;

}

public void setTitleNumber(int tileNumber){//設置上面的數字

this.tileNumber=tileNumber+"";

}

public int getTitleNumber(){//獲得上面的數字

return Integer.parseInt(tileNumber);

}

public void paintComponent(Graphics graphics) {

Font a=new Font("Arial",Font.BOLD,30);

graphics.setFont(a);

graphics.setColor(Color.white);

super.paintComponent(graphics);

FontMetrics b=graphics.getFontMetrics(a);

int c=b.stringWidth(tileNumber);

int d=b.getAscent();

int e=getWidth()/2-c/2;

int f=getHeight()/2+d/2;

graphics.drawString(tileNumber,e,f);

}

}

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.util.ArrayList;

import java.util.Random;

public class SlidingPuzzle extends JFrame implements MouseListener

{

public static void main(String[] args){

SlidingPuzzle frame=new SlidingPuzzle();

frame.TestPanel();

frame.setTitle("Numeric Sliding Puzzle");

frame.setSize(400,400);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

PuzzleTile[] listenerPanel;

public void TestPanel(){

Container container=getContentPane();

container.setLayout(new GridLayout(3,3,5,5));

listenerPanel=new PuzzleTile[9];

ArrayListInteger myList=new ArrayListInteger();

int m;

for(int i=0;i9;i++){

m=new Random().nextInt(9);

if(!myList.contains(m))

myList.add(m);

else

i--;

}

for(int i=0;ilistenerPanel.length;i++){

listenerPanel[i]=new PuzzleTile(myList.get(i));

container.add(listenerPanel[i]);

listenerPanel[i].addMouseListener(this);

}

}

public void mousePressed(MouseEvent e){

PuzzleTile jb = (PuzzleTile) e.getSource();

int m=jb.getTitleNumber();

//依次判斷每一個listenerPanel上下左右是否存在上面數字為0的listenerPanel

if(jb.equals(listenerPanel[0])){

if(listenerPanel[1].getTitleNumber()==0){

listenerPanel[0].setBackground(Color.white);

listenerPanel[0].setTitleNumber(0);

listenerPanel[1].setTitleNumber(m);

listenerPanel[1].setBackground(Color.darkGray);

}

if(listenerPanel[3].getTitleNumber()==0){

listenerPanel[0].setBackground(Color.white);

listenerPanel[0].setTitleNumber(0);

listenerPanel[3].setTitleNumber(m);

listenerPanel[3].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[1])){

if(listenerPanel[0].getTitleNumber()==0){

listenerPanel[1].setBackground(Color.white);

listenerPanel[1].setTitleNumber(0);

listenerPanel[0].setTitleNumber(m);

listenerPanel[0].setBackground(Color.darkGray);

}

if(listenerPanel[2].getTitleNumber()==0){

listenerPanel[1].setBackground(Color.white);

listenerPanel[1].setTitleNumber(0);

listenerPanel[2].setTitleNumber(m);

listenerPanel[2].setBackground(Color.darkGray);

}

if(listenerPanel[4].getTitleNumber()==0){

listenerPanel[1].setBackground(Color.white);

listenerPanel[1].setTitleNumber(0);

listenerPanel[4].setTitleNumber(m);

listenerPanel[4].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[2])){

if(listenerPanel[1].getTitleNumber()==0){

listenerPanel[2].setBackground(Color.white);

listenerPanel[2].setTitleNumber(0);

listenerPanel[1].setTitleNumber(m);

listenerPanel[1].setBackground(Color.darkGray);

}

if(listenerPanel[5].getTitleNumber()==0){

listenerPanel[2].setBackground(Color.white);

listenerPanel[2].setTitleNumber(0);

listenerPanel[5].setTitleNumber(m);

listenerPanel[5].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[3])){

if(listenerPanel[0].getTitleNumber()==0){

listenerPanel[3].setBackground(Color.white);

listenerPanel[3].setTitleNumber(0);

listenerPanel[0].setTitleNumber(m);

listenerPanel[0].setBackground(Color.darkGray);

}

if(listenerPanel[4].getTitleNumber()==0){

listenerPanel[3].setBackground(Color.white);

listenerPanel[3].setTitleNumber(0);

listenerPanel[4].setTitleNumber(m);

listenerPanel[4].setBackground(Color.darkGray);

}

if(listenerPanel[6].getTitleNumber()==0){

listenerPanel[3].setBackground(Color.white);

listenerPanel[3].setTitleNumber(0);

listenerPanel[6].setTitleNumber(m);

listenerPanel[6].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[4])){

if(listenerPanel[1].getTitleNumber()==0){

listenerPanel[4].setBackground(Color.white);

listenerPanel[4].setTitleNumber(0);

listenerPanel[1].setTitleNumber(m);

listenerPanel[1].setBackground(Color.darkGray);

}

if(listenerPanel[7].getTitleNumber()==0){

listenerPanel[4].setBackground(Color.white);

listenerPanel[4].setTitleNumber(0);

listenerPanel[7].setTitleNumber(m);

listenerPanel[7].setBackground(Color.darkGray);

}

if(listenerPanel[3].getTitleNumber()==0){

listenerPanel[4].setBackground(Color.white);

listenerPanel[4].setTitleNumber(0);

listenerPanel[3].setTitleNumber(m);

listenerPanel[3].setBackground(Color.darkGray);

}

if(listenerPanel[5].getTitleNumber()==0){

listenerPanel[4].setBackground(Color.white);

listenerPanel[4].setTitleNumber(0);

listenerPanel[5].setTitleNumber(m);

listenerPanel[5].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[5])){

if(listenerPanel[4].getTitleNumber()==0){

listenerPanel[5].setBackground(Color.white);

listenerPanel[5].setTitleNumber(0);

listenerPanel[4].setTitleNumber(m);

listenerPanel[4].setBackground(Color.darkGray);

}

if(listenerPanel[2].getTitleNumber()==0){

listenerPanel[5].setBackground(Color.white);

listenerPanel[5].setTitleNumber(0);

listenerPanel[2].setTitleNumber(m);

listenerPanel[2].setBackground(Color.darkGray);

}

if(listenerPanel[8].getTitleNumber()==0){

listenerPanel[5].setBackground(Color.white);

listenerPanel[5].setTitleNumber(0);

listenerPanel[8].setTitleNumber(m);

listenerPanel[8].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[6])){

if(listenerPanel[3].getTitleNumber()==0){

listenerPanel[6].setBackground(Color.white);

listenerPanel[6].setTitleNumber(0);

listenerPanel[3].setTitleNumber(m);

listenerPanel[3].setBackground(Color.darkGray);

}

if(listenerPanel[7].getTitleNumber()==0){

listenerPanel[6].setBackground(Color.white);

listenerPanel[6].setTitleNumber(0);

listenerPanel[7].setTitleNumber(m);

listenerPanel[7].setBackground(Color.darkGray);

}

}else if(jb.equals(listenerPanel[7])){

if(listenerPanel[6].getTitleNumber()==0){

listenerPanel[7].setBackground(Color.white);

listenerPanel[7].setTitleNumber(0);

listenerPanel[6].setTitleNumber(m);

listenerPanel[6].setBackground(Color.darkGray);

}

if(listenerPanel[8].getTitleNumber()==0){

listenerPanel[7].setBackground(Color.white);

listenerPanel[7].setTitleNumber(0);

listenerPanel[8].setTitleNumber(m);

listenerPanel[8].setBackground(Color.darkGray);

}

if(listenerPanel[4].getTitleNumber()==0){

listenerPanel[7].setBackground(Color.white);

listenerPanel[7].setTitleNumber(0);

listenerPanel[4].setTitleNumber(m);

listenerPanel[4].setBackground(Color.darkGray);

}

}else {

if(listenerPanel[5].getTitleNumber()==0){

listenerPanel[8].setBackground(Color.white);

listenerPanel[8].setTitleNumber(0);

listenerPanel[5].setTitleNumber(m);

listenerPanel[5].setBackground(Color.darkGray);

}

if(listenerPanel[7].getTitleNumber()==0){

listenerPanel[8].setBackground(Color.white);

listenerPanel[8].setTitleNumber(0);

listenerPanel[7].setTitleNumber(m);

listenerPanel[7].setBackground(Color.darkGray);

}

}

boolean b=true;//是否完成標記

for(int i=0;ilistenerPanel.length;i++){//判斷listenerPanel[0]~listenerPanel[8]上的數字是從0~8.若是完成拼圖

if(listenerPanel[i].getTitleNumber()!=i)

b=false;

}

if(b==true){

int i=JOptionPane.showConfirmDialog(null, "would you paly agin?");

if(i==0){

if(i==0){

Rectangle re=this.getBounds();

this.dispose();

SlidingPuzzle slidingPuzzle=new SlidingPuzzle();

slidingPuzzle.setBounds(re);

}

else if(i==1)

System.exit(0);

else ;

}

}

}

public void mouseReleased(MouseEvent e){}

public void mouseClicked(MouseEvent e){}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

}

如果運行過程什么問題追問或者hi

如何優化JAVA代碼及提高執行效率

張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)百度網盤 ?

鏈接:

提取碼: aizj 復制這段內容后打開百度網盤手機App,操作更方便哦? ?

若資源有問題歡迎追問~ ?

java中排序算法代碼

package temp;

import sun.misc.Sort;

/**

* @author zengjl

* @version 1.0

* @since 2007-08-22

* @Des java幾種基本排序方法

*/

/**

* SortUtil:排序方法

* 關于對排序方法的選擇:這告訴我們,什么時候用什么排序最好。當人們渴望先知道排在前面的是誰時,

* 我們用選擇排序;當我們不斷拿到新的數并想保持已有的數始終有序時,我們用插入排序;當給出的數

* 列已經比較有序,只需要小幅度的調整一下時,我們用冒泡排序。

*/

public class SortUtil extends Sort {

/**

* 插入排序法

* @param data

* @Des 插入排序(Insertion Sort)是,每次從數列中取一個還沒有取出過的數,并按照大小關系插入到已經取出的數中使得已經取出的數仍然有序。

*/

public int[] insertSort(int[] data) {

1/11頁

int temp;

for (int i = 1; i data.length; i++) {

for (int j = i; (j 0) (data[j] data[j - 1]); j--) {

swap(data, j, j - 1);

}

}

return data;

}

/**

* 冒泡排序法

* @param data

* @return

* @Des 冒泡排序(Bubble Sort)分為若干趟進行,每一趟排序從前往后比較每兩個相鄰的元素的大?。ㄒ虼艘惶伺判蛞容^n-1對位置相鄰的數)并在

* 每次發現前面的那個數比緊接它后的數大時交換位置;進行足夠多趟直到某一趟跑完后發現這一趟沒有進行任何交換操作(最壞情況下要跑n-1趟,

* 這種情況在最小的數位于給定數列的最后面時發生)。事實上,在第一趟冒泡結束后,最后面那個數肯定是最大的了,于是第二次只需要對前面n-1

* 個數排序,這又將把這n-1個數中最小的數放到整個數列的倒數第二個位置。這樣下去,冒泡排序第i趟結束后后面i個數都已經到位了,第i+1趟實

* 際上只考慮前n-i個數(需要的比較次數比前面所說的n-1要?。?。這相當于用數學歸納法證明了冒泡排序的正確性

關于Java算法代碼解析問題

這使用遞歸的方式實現自己調用自己方法的循環語句。

題中最終目的是為了檢索數組s中有沒有“華”字。

return

name(i+1,

j,

index+1)+name(i,

j+1,

index+1);的目的就是為了循環;

其中

name(i+1,

j,

index+1)

是從

s

中以縱向方式抽取第

i

個【小組】中的第一個元素

來和

string

中的第

index

個元素比較(此時

i

=

index);

name(i,

j+1,

index+1);

是從

s

中以橫向方式抽取第

i

個【小組】中的第

j

個元素

來和

string

中的第

index

個元素比較(此時

j

=

index);

這樣便以“網格”的方式比對了s中的每一個元素。

如何用70行Java代碼實現神經網絡算法

如何用70行Java代碼實現神經網絡算法

import java.util.Random;

public class BpDeep{

public double[][] layer;//神經網絡各層節點

public double[][] layerErr;//神經網絡各節點誤差

public double[][][] layer_weight;//各層節點權重

public double[][][] layer_weight_delta;//各層節點權重動量

public double mobp;//動量系數

public double rate;//學習系數

public BpDeep(int[] layernum, double rate, double mobp){

this.mobp = mobp;

this.rate = rate;

layer = new double[layernum.length][];

layerErr = new double[layernum.length][];

layer_weight = new double[layernum.length][][];

layer_weight_delta = new double[layernum.length][][];

Random random = new Random();

for(int l=0;llayernum.length;l++){

layer[l]=new double[layernum[l]];

layerErr[l]=new double[layernum[l]];

if(l+1layernum.length){

layer_weight[l]=new double[layernum[l]+1][layernum[l+1]];

layer_weight_delta[l]=new double[layernum[l]+1][layernum[l+1]];

for(int j=0;jlayernum[l]+1;j++)

for(int i=0;ilayernum[l+1];i++)

layer_weight[l][j][i]=random.nextDouble();//隨機初始化權重

}

}

}

//逐層向前計算輸出

public double[] computeOut(double[] in){

for(int l=1;llayer.length;l++){

for(int j=0;jlayer[l].length;j++){

double z=layer_weight[l-1][layer[l-1].length][j];

for(int i=0;ilayer[l-1].length;i++){

layer[l-1][i]=l==1?in[i]:layer[l-1][i];

z+=layer_weight[l-1][i][j]*layer[l-1][i];

}

layer[l][j]=1/(1+Math.exp(-z));

}

}

return layer[layer.length-1];

}

//逐層反向計算誤差并修改權重

public void updateWeight(double[] tar){

int l=layer.length-1;

for(int j=0;jlayerErr[l].length;j++)

layerErr[l][j]=layer[l][j]*(1-layer[l][j])*(tar[j]-layer[l][j]);

while(l--0){

for(int j=0;jlayerErr[l].length;j++){

double z = 0.0;

for(int i=0;ilayerErr[l+1].length;i++){

z=z+l0?layerErr[l+1][i]*layer_weight[l][j][i]:0;

layer_weight_delta[l][j][i]= mobp*layer_weight_delta[l][j][i]+rate*layerErr[l+1][i]*layer[l][j];//隱含層動量調整

layer_weight[l][j][i]+=layer_weight_delta[l][j][i];//隱含層權重調整

if(j==layerErr[l].length-1){

layer_weight_delta[l][j+1][i]= mobp*layer_weight_delta[l][j+1][i]+rate*layerErr[l+1][i];//截距動量調整

layer_weight[l][j+1][i]+=layer_weight_delta[l][j+1][i];//截距權重調整

}

}

layerErr[l][j]=z*layer[l][j]*(1-layer[l][j]);//記錄誤差

}

}

}

public void train(double[] in, double[] tar){

double[] out = computeOut(in);

updateWeight(tar);

}

}

分享名稱:java頻繁算法代碼 java常見的算法
網站URL:http://vcdvsql.cn/article10/hepggo.html

成都網站建設公司_創新互聯,為您提供定制網站、App設計、網站營銷、小程序開發搜索引擎優化用戶體驗

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化