Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将对象传递给采用int-Java的方法_Java - Fatal编程技术网

将对象传递给采用int-Java的方法

将对象传递给采用int-Java的方法,java,Java,我正在为学校做数独游戏。在这里,我试图在一个空网格中放置一个数字。我有一个构造函数,它给出了初始化3个变量,然后我创建了一个有3个值的对象。我想在网格中传递每个对象的这三个值,这是我的代码 public int [][] insertNumber(int x, int y , int z){ isOnRow(x,z); isOnColomn(y,z); isOnBlock(x,y,z); tableau [x][y] = z; return table

我正在为学校做数独游戏。在这里,我试图在一个空网格中放置一个数字。我有一个构造函数,它给出了初始化3个变量,然后我创建了一个有3个值的对象。我想在网格中传递每个对象的这三个值,这是我的代码

public  int [][]  insertNumber(int x, int y , int z){
    isOnRow(x,z);
    isOnColomn(y,z);
    isOnBlock(x,y,z);
    tableau [x][y] = z;
    return tableau;          
}


public static void main(String[] args) {
    ArrayList<Case> contenantCase = new ArrayList<>();
    Case objetCase1 = new Case(0,1,4);
    Case objetCase2 = new Case(0,2,3);
    Case objetCase3 = new Case(0,3,7);
    contenantCase.add(objetCase1);
    contenantCase.add(objetCase2);
    contenantCase.add(objetCase3);

    insertNumber(objetCase1);
    printGrille();

我不知道您的Case类是什么样子的,但是您可以更改insertNumber方法以接受Case对象,或者需要这样调用它:

insertNumber(objectCase1.x, objectCase.y, objectCase.z);

假设Case类有3个字段x、y和z。

基于您的代码,这就是我在同一类中使用新参数所做的

// also applicable with static to use it on the fly.
public static class NumberInserter() {
     private int x,y,z;
     private case _case;
     NumberInserter() {}
     NumberInserter(int x, int y, int z) {}
     NumberInserter(Case case) { _case = case; }

public  int [][]  doInt(){
    isOnRow(x,z);
    isOnColomn(y,z);
    isOnBlock(x,y,z);
    tableau [x][y] = z;
    return tableau;          
}
public  int [][]  doCase(){
    isOnRow(case.x, case.z);
    isOnColomn(case.y,case.z);
    isOnBlock(case.x, case.y,case.z);
    tableau [case.x][case.y] = case.z;
    return tableau;          
}

}



public static void main(String[] args) {
    ArrayList<Case> contenantCase = new ArrayList<>();
    Case objetCase1 = new Case(0,1,4);
    Case objetCase2 = new Case(0,2,3);
    Case objetCase3 = new Case(0,3,7);
    contenantCase.add(objetCase1);
    contenantCase.add(objetCase2);
    contenantCase.add(objetCase3);

    NumberInserter(objetCase1).doCase();
    printGrille();

非常感谢,这很有意义!不客气。那么请接受我正确的答案。你的数字输入法的目的是什么?尤其是行号sertercase case{u case=case;}@BroncoBilly构造函数链接是实现多态性的方法。因此,您可以将基元类型或对象中的值传递给类并返回期望值。