Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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 我不断得到错误:int不能被取消引用。我怎么修理它?_Java_Arrays_Int_Playing Cards - Fatal编程技术网

Java 我不断得到错误:int不能被取消引用。我怎么修理它?

Java 我不断得到错误:int不能被取消引用。我怎么修理它?,java,arrays,int,playing-cards,Java,Arrays,Int,Playing Cards,我开始编写War(纸牌游戏)的程序,并且这些方法已经被实例化了。我需要知道为什么我会不断出现这些错误 import java.util.*; public class CardGame { public static void main(String[] args) { CardDeck CardDeckA = new CardDeck(); //creates a standard card deck with 52 cards 1 - 10, J,

我开始编写War(纸牌游戏)的程序,并且这些方法已经被实例化了。我需要知道为什么我会不断出现这些错误

import java.util.*;

public class CardGame {
    public static void main(String[] args) {

        CardDeck CardDeckA = new CardDeck();
        //creates a standard card deck with 52 cards 1 - 10, J, Q, K, A diamond, spade, club, heart


        //Card( int value, int suit)

        int[] player1 = new int[52];
        int[] player2 = new int[52];
        int a = player1.length;
        int b = player2.length;

        for (int i = 0; a <= 26; i++) {
            player1[i].deal(); //Error: int cannot be dereferenced
            //deal( int n):Deals n cards from the top of the CardDeck, returns Card[]
        }

        for (int j = 0; a <= 26; j++) {
            player2[j].deal();//Error: int cannot be dereferenced
        }
    }
}
import java.util.*;
公开课纸牌游戏{
公共静态void main(字符串[]args){
CardDeck CardDeck=新的CardDeck();
//创建一个标准卡组,包含52张卡1-10、J、Q、K、菱形、黑桃、梅花、心形
//卡片(整数价值,整数套装)
int[]player1=新int[52];
int[]player2=新int[52];
int a=播放器1.5倍长度;
int b=播放器2.5米长;

对于(inti=0;a您应该调用如下方法

player = CardDeckA.deal(1)
而不是

player1[i].deal()
由于
player1[i]
是一个原语
int
,因此它没有方法

deal
返回
int[]
,根据您使用它的方式,我怀疑它类似于:

player = CardDeckA.deal(26)

因为
ints
在Java中不能被取消引用。没有这样的工具。你编的。太本地化了。发现了2个错误:Programs\CardGame\CardGame.Java[line:14]错误:int不能被取消引用Programs\CardGame\CardGame.Java[line:17]错误:int不能被取消引用@EJP如何修复它?遵从操作符是点(
)在那里。它不能应用于
int
,就像你可以做的那样
int i=0;i.这是不对的;
。而且,你的循环将永远持续下去,因为
a
永远不会改变,将保持
0
,永远不会做
a
CardDeckA.deal(26)
。顺便说一句,
CardDeckA
是个坏名字。原始海报应该叫它
deck
@EricJablow啊,这么多的编辑,仍然没有看到,
deal
是来自另一个对象。原始帖子中的代码有点难以挽救,除非我们知道它应该做什么:)谢谢!我相信是大一新生的神奇思维。我有过类似的数学学生,他们试图在加法上分配平方根,因为他们忘记了三角代换。