java - 你如何从一个方法返回一个值并在另一个方法中调用它?
问题描述
我正在尝试获取一种方法来返回一个值或另一个值,并使用该答案来满足另一种方法中的 if 子句。在我的 isWinner 方法中,我有:
public int isWin(int player)
{
if(((board[0][0]+board[0][1]+board[0][2]==3)||
(board[1][0]+board[1][1]+board[1][2]==3)||
(board[2][0]+board[2][1]+board[2][2]==3)||
(board[0][0]+board[1][0]+board[2][0]==3)||
(board[0][1]+board[1][1]+board[2][1]==3)||
(board[0][2]+board[1][2]+board[2][2]==3)||
(board[0][0]+board[1][1]+board[2][2]==3)||
(board[2][0]+board[1][1]+board[0][2]==3)))
{
return 1;
}
else if(((board[0][0]+board[0][1]+board[0][2]==6)||
(board[1][0]+board[1][1]+board[1][2]==6)||
(board[2][0]+board[2][1]+board[2][2]==6)||
(board[0][0]+board[1][0]+board[2][0]==6)||
(board[0][1]+board[1][1]+board[2][1]==6)||
(board[0][2]+board[1][2]+board[2][2]==6)||
(board[0][0]+board[1][1]+board[2][2]==6)||
(board[2][0]+board[1][1]+board[0][2]==6)))
{
return 2;
}
}
我试图返回 1 或 2。在另一种方法 displayWinner() 中,我的代码检查 isWinner 是否返回 1 或 2,并根据 isWinner() 返回的内容打印出不同的文本:
public void displayWinner()
{
if(isWin()==1)
{
System.out.println("\n Player 1 wins...!!");
isFull=true;
}
else if(isWin()==2)
{
System.out.println("\n Player 2 wins...!!");
isFull=true;
}
else
{
if(isFull)
{
System.out.println("It is a tie.");
}
}
}
我如何返回 1 或 2?每次我打电话给他们,我都会得到:
$ javac TicTacToe.java
TicTacToe.java:113: error: method isWin in class TicTacToe cannot be
applied to given types;
if(isWin()==1)
^
required: int
found: no arguments
reason: actual and formal argument lists differ in length
TicTacToe.java:118: error: method isWin in class TicTacToe cannot be
applied to given types;
else if(isWin()==2)
^
required: int
found: no arguments
reason: actual and formal argument lists differ in length 2 errors
解决方案
根据您的代码 isWin(int player) 方法需要传递一个参数,但是在调用时您没有向该方法传递任何参数。这就是你得到错误的原因。
所以不要像 isWin() 那样调用,而是像这样调用:isWin(1) 或 isWin(2)
推荐阅读
- jquery - 在 Bootstrap 中单击按钮不显示下拉菜单
- java - Spring Boot 应用程序在 AWS Lambda 中运行时抛出 MultipartException
- ionic-framework - phonega-plugin-push 在 Android Oreo 的背景中不起作用
- aws-amplify - AWS Amplify Toolchain - YAML 格式的 Cloudformation
- ruby - 在 linux 上运行 ruby 规范时出现未初始化的常量错误,而不是在 windows 上
- jsp - 跨站点脚本保护已关闭
- typescript - 如何完全输入这个阶乘函数?
- debugging - 16 位实模式程序的调试器如何产生堆栈跟踪?
- ckan - CKAN 扩展相互覆盖,正确的顺序是什么?
- hibernate - 在 Hibernate 中,如何将日期(没有时间)作为参数传递给 CriteriaQuery?