gpt4 book ai didi

java - 如何在 Java 中用不同类型的变量填充二维数组

转载 作者:行者123 更新时间:2023-11-30 03:35:32 25 4
gpt4 key购买 nike

我想创建一个数组,在其中可以根据情况放置不同类型的变量,我将如何去做?我尝试自己编写一些代码,但是当我尝试编译它时,我仍然收到错误消息,说我无法将 int 转换为数据,这是我的方法:

private static Data[][] set(Scanner sc, int grid, int collumn) {
Data[][] data = new Data[collumn][];
for (int i = 0; i < collumn; i++) {
switch(sc.nextInt()) {
case 0:
data[i] = new int[grid];
case 1:
data[i] = new String[grid];
case 2:
data[i] = new boolean[grid];
}
}
return data;
}

我确实有一个数据类,但它是空的,我在主要方法的开头读取了网格和列,除了 2 个扫描仪行之外,它也是空的,我是否必须在数据中写入任何特定内容类?

这是我的完整代码:

import java.util.Scanner;

class dn11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
grid = sc.nextInt();
collumn = sc.nextInt();
set(sc, grid, collumn);

}


private static Data[][] set(Scanner sc, int grid, int collumn) {
Data[][] data = new Data[collumn][];
for (int i = 0; i < collumn; i++) {
switch(sc.nextInt()) {
case 0:
data[i] = new int[grid];
case 1:
data[i] = new String[grid];
case 2:
data[i] = new boolean[grid];
}
}
return data;
}



private static abstract class Data extends dn11 {

}

}

最佳答案

这种情况,你只能这样做:

     data[i] = new data[grid];

因为数据数组只能包含数据类型的对象。

您可以在此类中放置 3 个属性,如下所示:

    int i;
String s;
Boolean b;

还有 1 个属性来跟踪其 int、String 或 Boolean 是否有效例如

   int val;

现在,如果 val 为 1,则 String 应包含其值,如果 val 为 2,则 int 包含该值。

变量val可以在构造函数中初始化。

关于java - 如何在 Java 中用不同类型的变量填充二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28000798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com