Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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
Java 试图调用一个类,但它给了我错误:实际参数列表和形式参数列表的长度不同_Java_Class_Oop - Fatal编程技术网

Java 试图调用一个类,但它给了我错误:实际参数列表和形式参数列表的长度不同

Java 试图调用一个类,但它给了我错误:实际参数列表和形式参数列表的长度不同,java,class,oop,Java,Class,Oop,我创建了一个名为PlacePiece的类,该类将在游戏中调用。但是当我在Game类中调用它时,它给出了一个错误: 实际参数列表和形式参数列表的长度不同 我如何修复它以及是什么导致它?我不知道如何修复它,并且一直试图永远解决它。我对编码也很陌生,所以任何反馈都会有所帮助 public class Game { private Board gBoard; private PlacePiece placePiece; public Game() { gBoa

我创建了一个名为
PlacePiece
的类,该类将在
游戏中调用。但是当我在
Game
类中调用它时,它给出了一个错误:

实际参数列表和形式参数列表的长度不同

我如何修复它以及是什么导致它?我不知道如何修复它,并且一直试图永远解决它。我对编码也很陌生,所以任何反馈都会有所帮助

public class Game {
    private Board gBoard;
    private PlacePiece placePiece; 

    public Game() {
        gBoard = new Board();
        PlacePiece.placePiece();
   }
}


import java.util.Scanner;

public class PlacePiece {

    public void placePiece(char[][] gBoard) {

        System.out.print("Game has begun, please enter where you would like to place (1~9):");
        Scanner scan = new Scanner(System.in);
        int placement = scan.nextInt();
  
        System.out.println(placement);       

        char piece = ' ';              
        switch(placement){
            case 1: gBoard[0][0] = piece;
                break;
            case 2: gBoard[0][2] = piece;
                break;
            case 3: gBoard[0][4] = piece;
                break;
            case 4: gBoard[2][0] = piece;
                break;
            case 5: gBoard[2][2] = piece;
                break;
            case 6: gBoard[2][4] = piece;
                break;
            case 7: gBoard[3][0] = piece;
                break;
            case 8: gBoard[3][2] = piece;
                break;
            case 9: gBoard[3][4] = piece;
                break;
        }  
        for(char[] row : gBoard){
            for(char c : row){
                System.out.print(c);
            }
            System.out.println();
        }
    }
}

实际上,您还没有初始化任何
PlacePiece
变量,并且您的方法不是静态的,那么您想如何调用它呢?此外,在您的
placePiece
函数中,您应该传递未传递的
char[]]gBoard

我的猜测是,你正在尝试制作一个游戏,但不知道如何制作,因为你只是从互联网上复制了一些功能而不知道其功能

所以,在你的
板上
课上,我打赌你有这样的东西:

public class Board {
    private char[][] board; // you should initialize it in constructor

    public char[][] getBoard() {
        return board;
    }
}
然后您应该在
Game
类中创建
placePiece
变量并使用它:

public class Game {
    private Board gBoard;
    private PlacePiece placePiece; 

    public Game() {
        gBoard = new Board();
        placePiece = new PlacePiece();
        placePiece.placePiece(gBoard.getBoard()); // you have to pass variable to placePiece() function
    }
}

<>我不认为你知道,你在做什么,否则你不会犯这些错误,所以我强烈建议你使用一些java教程,这样你就有了一些基础,然后开始做更复杂的任务。你说得对,我到处都是,但我只是想在高中的课堂上学习编程。但我没有复制任何代码:(