【问题标题】:How to write to an array in Java using predetermined variables"如何使用预先确定的变量在 Java 中写入数组”
【发布时间】:2017-03-04 16:26:21
【问题描述】:

我正在尝试使用一些预定整数写入多维数组,但收到错误 - 西装的原始类型 int 没有字段编号 这是我收到此错误时使用的代码

    card[suit][number] = suit, number;

card 是我已经创建的多维数组,我正在尝试使用我创建的 2 个整数、suit 和 number 写入它

【问题讨论】:

  • 一个数组每个槽只能包含一个对象。因此,为了向其中保存两个变量,您必须创建一个包含这两个数字的新类。
  • 我还是一个相当新的程序员,并没有真正关注这一点。你能帮我写一些示例代码吗?
  • 一个数组,就像内存中的所有其他东西一样,包含单个元素。这就像说int a = 2, 3;,这是行不通的。如果你真的想要这个,你可以像 QBrute 所说的那样创建一个类,或者甚至使用一个二维数组数组(即一个 3 维数组。)
  • @DylanChristensen:你能不能只提供整个代码(以防它不是太多)?
  • 我使用了一个列表的解决方法,所以我没有代码了

标签: java arrays multidimensional-array


【解决方案1】:

您必须遍历二维数组的每个元素并为其分配一个值。

    String[] suits = {"Hearts","Diamonds","Spades","Clubs"};
    String[] numbers = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

    // The size of the 2-d must be pre-initialized
    String[][] Cards = new String[suits.length][numbers.length];

    int i = 0; //suit index
    int j = 0; //number index

    for(String suit : suits){
        for(String number : numbers){
            Cards[i][j] = number+" of "+suit;
            j++;
        }
        i++;
        j=0; // we have to return to the starting index to reset the number
    }

【讨论】:

  • 好的,这肯定可以解决我的问题,但我用列表创建了一个解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2022-11-23
  • 1970-01-01
相关资源
最近更新 更多