Java 如何使用一个类中的int并将其与int';他是其他班的吗?

Java 如何使用一个类中的int并将其与int';他是其他班的吗?,java,eclipse,Java,Eclipse,我想做一个吃角子老虎机游戏。我搜索过其他论坛,但它们似乎都在使用int,只是与我尝试使用它们的方式略有不同 我有4门课,下面是一个简单的版本: import java.util.*; public class ExampleCode { public static void main(String[] args) { int a = 0; int b = 0; int c = 0; SlotLeft left = ne

我想做一个吃角子老虎机游戏。我搜索过其他论坛,但它们似乎都在使用int,只是与我尝试使用它们的方式略有不同

我有4门课,下面是一个简单的版本:

import java.util.*;
public class ExampleCode {

    public static void main(String[] args) {

        int a = 0;
        int b = 0;
        int c = 0;

        SlotLeft left = new SlotLeft();
        SlotMid mid = new SlotMid();
        SlotRight right = new SlotRight();

        left.left(a);
        mid.mid(b);
        right.right(c);

        if(a==b){
            System.out.println("text");
        }
        if(a==c){
             System.out.println("different text");
        }
        if(b==c){
            System.out.println("More text");
        }
        if(a==b&&a==c&&b==a&&b==c&&c==a&&c==b){
            System.out.println("last text");
        }
    }
}


//left class
import java.util.*;
public class SlotLeft {
    public void left(int a) {
        int 1;
    }
}
//mid class
import java.util.*;
public class SlotMid {
    public void mid(int b) {
        int b = 1;
    }
}

//right class
import java.util.*;
public class SlotRight {
    public void right(int c) {
        int c = 1;
    }        
}
括号可能弄乱了,但这不是我关心的问题。我试图在三个类中设置某些int,然后能够在主类中给它们那个值,并比较这三个数字。有什么建议吗


编辑:尝试使其更具定义性,但对Java来说相对较新。

对每个插槽使用数组而不是类:

public static final int SLOT_LEFT = 0 ;
public static final int SLOT_MID = 1 ;
public static final int SLOT_RIGHT = 2 ;

int[] slots = new int[3];
设置插槽的值:

slots[SLOT_MID] = 1;
您还可以将所有这些集成到一个类中

class SlotManager {
    public static final int SLOT_LEFT = 0 ;
    public static final int SLOT_MID = 1 ;
    public static final int SLOT_RIGHT = 2 ;

    int[] slots = new int[3];

    public void setSlot(int slotId, int value) {
       slots[slotId] = value;
    }


}

直接为传递到方法中的参数赋值不会改变调用方法中的参数。换言之:

public class Test {
    public static void main(String[] args) {
        int i = 0;
        foo(i);
        System.out.println(i); // Prints "0", not "1"
    }

    public void foo(int i) {
        i = 1;
    }
}
这将打印
0
,而不是
1
。同样,直接赋值不会更改调用方法中的值。相反,可以这样做:

public class Test {
    public static void main(String[] args) {
        int i = foo();
        System.out.println(i); // Prints "1"
    }

    public int foo() {
        return 1;
    }
}

六羟甲基三聚氰胺六甲醚。。。你的问题不清楚。抱歉。a、b、c和d未定义。由于您的方法left()没有返回任何内容,您希望如何比较这些内容?我假设那些
SlotN
方法只是存根,因为现在它们只设置了一个函数局部变量,这是完全没有用的。@Andremoniy-Yep,很难找到任何已定义的内容。这与C/C++中的引用传递相反,当然,在C/C++中可以使用。可能,但不正常——需要特定的符号。