我想从一个类中获取一个数组,并在具有相同值的其他类中再次使用它 头等舱:
package Interface;
import java.util.Collection;
import petriNet.Arc;
import petriNet.Node;
public class SMVCode {
public String catas[][]=new String[100][100];
public int type[][]=new int[100][100];
Node noeud[][]=new Node[100][100];
/*
// fiew line codes
*/
public int createInitBlocr1 (StringBuffer sb, int k1, int y, Object[] a,int incp,int inct,int f)
{
Collection cd=((Node)a[k1]).getLeavings().values();
Object[] ab=cd.toArray();
int p=0;
int t=0;
for(int j=0;j<ab.length;j++)
{
Node trn= ((Arc)ab[j]).getDestination();
catas[y][f]=trn.getName();
type[y][f]=trn.getType();
noeud[y][f]=trn;
f++;
f=createInitBlocr2 (sb,y, a,trn,incp,inct,p,t,f);
}
return f;
}
public int createInitBlocr2 (StringBuffer sb, int y, Object[] a, Node trn1,int incp,int inct,int p,int t,int f){
//
return y;
}
public String[][] getCatas(){
return catas;
}
}
第二课:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Interface;
import java.awt.*;
import java.io.Serializable;
import javax.swing.*;
import Model_Checking.SMVCode;
public class Composite extends JFrame implements Serializable{
JFrame frame = new JFrame("Web Service Composit");
public SMVCode c;
JInternalFrame disignInternalFrame=new JInternalFrame("Workflow Process Designer");
public Composite() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
frame.setSize(new Dimension(800, 600));
frame.setVisible(true);
disignInternalFrame.setSize(new Dimension(750,550));
disignInternalFrame.setIconifiable(false);
disignInternalFrame.setMaximizable(true);
disignInternalFrame.setClosable(false);
disignInternalFrame.setAutoscrolls(true);
disignInternalFrame.setResizable(true);
disignInternalFrame.setVisible(true);
disignInternalFrame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
frame.add(disignInternalFrame);
//SMVCode c= new SMVCode();
String[][] nom = c.catas;
int nbr =0;
/*
// fiew line codes
*/
for(int i =0; i<100;i++){
for(int j=0;j<100;j++){
if(nom[i][j]!= null){
nbr = nbr +1;
}
}
}
}
}
我的问题是当我使用我的数组“Catas”时,我发现它是安培的而不是我在方法“createInitBlocr1”中的值。我只想要在Composit Class中使用与SMVCode Class相同的数组。
答案 0 :(得分:0)
将数组声明为使数组为静态(您必须使用静态函数初始化它)或者使用getter和setter方法来设置和获取数组