Java动态对象表
我正在制作一个Java程序,但不知道如何启动。任务是: 我必须创建一个包含c列和r行的表。此参数是我读取的第一个参数(两个参数都可以高达100)。所以这一部分很清楚。然后,关于列的数量(我想使用for语句),我必须设置它们的类型。例如,如果我输入c=5和r=5,我将有一个表5x5。然后我需要读取5(c)个输入,其中1表示整数,2表示字符串,3表示布尔值 因此,如果我接着输入:1 2 3,这意味着前2种类型是整数,下2种是字符串,最后一种是布尔型。我想我需要像这样创建一个对象,但不确定如何“动态”创建它——在我得到这种类型之后 之后,我将读取5(r)对象,每个对象都有这5个参数。下一步我将自己尝试,只是不确定如何实现这样的输入——使用我设置的类型创建对象 到目前为止,我得到的是:Java动态对象表,java,object,dynamic,Java,Object,Dynamic,我正在制作一个Java程序,但不知道如何启动。任务是: 我必须创建一个包含c列和r行的表。此参数是我读取的第一个参数(两个参数都可以高达100)。所以这一部分很清楚。然后,关于列的数量(我想使用for语句),我必须设置它们的类型。例如,如果我输入c=5和r=5,我将有一个表5x5。然后我需要读取5(c)个输入,其中1表示整数,2表示字符串,3表示布尔值 因此,如果我接着输入:1 2 3,这意味着前2种类型是整数,下2种是字符串,最后一种是布尔型。我想我需要像这样创建一个对象,但不确定如何“动态”
import java.util.Scanner;
public class Tables {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int r = sc.nextInt();
int c = sc.nextInt();
int [] types = new int [c];
for (int i = 0; i < c; i++){
types[i] = sc.nextInt();
}
//have types but how to create an object now?
}
}
import java.util.Scanner;
公共类表{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int r=sc.nextInt();
int c=sc.nextInt();
int[]类型=新的int[c];
对于(int i=0;i
有很多方法可以做到这一点,但在您的情况下,我将使用最简单、最直接的方法,即开关
语句:
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; c++) {
Object value = null;
switch (types[j]) {
case 1:
value = sc.nextInt();
break;
case 2:
value = sc.next();
break;
case 3:
value = sc.nextBoolean();
break;
}
// Do something with 'value' here.
}
}
for(int i=0;i