Java:不带逗号的参数列表

Java: Parameter list without comma

我遇到了一个带有参数列表的方法,其中参数没有用逗号分隔并且没有声明变量类型:

public int compareWith(Choice anotherChoice){

后来在 if-else 语句中结合另一种方法调用了这些参数,而没有在主体内进行任何进一步声明:

if ((this.type == 0)&&(anotherChoice.getType() == 1)){
        return -1;

这是对整个class的简要总结:

public class Choice
{

private int type; 


public Choice(int type)
{
    //initialize the "type" instance varialble
    this.type = type;
}

  public int getType()
{
    return type;
}

 public int compareWith(Choice anotherChoice)
{
   Choice choice1 = new Choice(0);
   Choice choice2 = new Choice(1);
   if ((this.type == 0)&&(anotherChoice.getType() == 1)){
        return -1;

节目继续。我真的不明白 anotherChoice、getType() 和 choice2 之间的 link。这是在线课程中的一个任务,程序按预期运行,但我不知道为什么。

为了消除您的困惑,在此方法声明中:

public int compareWith(Choice anotherChoice){

anotherChoice 是 Choice 类型的参数。

我猜您是编程新手,所以我将快速解释一下发生了什么。如果我完全错过了你问题的重点,我很抱歉。

这一行:

public int compareWith(Choice anotherChoice){

Choice 对象的一部分。它需要另一个 Choice 对象并将其与自身进行比较。 ...或者至少,这是我所期望的。您提供的代码:

public int compareWith(Choice anotherChoice)
{
   Choice choice1 = new Choice(0);
   Choice choice2 = new Choice(1);
   if ((this.type == 0)&&(anotherChoice.getType() == 1)){
        return -1;

不完整,我不知道 choice1choice2 应该做什么。我希望看到的代码看起来更像

public int compareWith(Choice anotherChoice)
{
   if (this.type == anotherChoice.getType())
        return 0;
   return -1;
}

或类似的东西。

有帮助吗?

这是我的课程解决方案。可能不是最好的解决方案,但它奏效了,我获得了成绩。我现在卡在 LAB 04 TASK 3 上了。

int player=this.getType();//get value of choice1
int computer=anotherChoice.getType();// this get the value choise2 out of anotherChoise
int som;// this INT i made to make a sum
int result;
result = 0;//i already gave a value on the INT result
som = player - computer;//this is the sum of de values choice1 and choise2

if(player == computer)  //all ties
  result = 0;     
else if(som == -1) //player ROCK and comp. PAPER or PAPER and SCISSOR
  result = -1;
else if(som == 2) //player SCISSOR and comp. ROCK
  result = -1;
else if(som == 1)//player SCISSOR and comp PAPER or PAPER and ROCK
  result = 1;
else if(som == -2)//player ROCK and comp. SCISSOR
  result = 1;
return result; // this line should be modified/removed upon finishing