【发布时间】:2020-02-11 23:30:17
【问题描述】:
根据另一个类中给出的输入,该类必须从要在其中找到该变量的 4 个类之一中检索一个变量。例如。如果输入是s,则该类正在查找的变量在Sumup.counter 中找到,而当输入是a 时,它需要的变量将在Abstract.counter 等中找到,以此类推填充一个数组。在这 4 个不同的类别之一中,它必须选择 5 个不同的变量。所以为了避免大量额外的编程,我想用一个变量替换这些类名Sumup 和Abstract。所以它必须看起来像这样Variable.counter、Variable.part1 等。其中变量可以是Sumup 或Abstract(或Multiply 或Divide)。
任何人建议如何做到这一点?
public class Erroranalysis {
public static int[][] wrongcalculations = new int[5][Numberofcalculations.numcalc];
static int runner = 0;
static String routine;
public static void main(String[] args)
{
switch (kindofcalculation.choice)
{
case "s":
routine = "Sumup";
break;
case "a":
routine = "Abstract";
break;
case "m":
routine = "Multiply";
break;
case "d":
routine = "Divide";
break;
}
if (routine.counter <= Numberofcalcluations.numcalc)
{
wrongcalculations[0][runner] = routine.counter;
wrongcalculations[1][runner] = routine.part1;
wrongcalculations[2][runner] = routine.part2;
wrongcalculations[3][runner] = routine.result;
wrongcalculations[4][runner] = routine.answer;
runner++;
}
}
}
【问题讨论】:
-
27 次观看,但显然仍然没有人知道......
-
也许是一个额外的提示......在不同的“案例”中提到的“例程”......指的是下面“if”部分中进一步提到的“例程”。
-
我很困惑,
routine是String,那你为什么还要访问part1/part2等呢?这些甚至不是String类中的字段。除非您将一个类命名为routine... 您应该将所有类命名为UpperCamelCase,这样它更具可读性。也就是说,包括您在此处使用的变量声明(因此如何定义routine.part1和kindofcalculation.choice等)。 -
是的,
routine是一个代表类名的变量。因此,如果输入kindofcalculation.choice是(例如)。s然后需要一个类名Sumup之外的变量。该特定变量是 a.o.称为第 1 部分。所以它想让 java 它明白wrongcalculations[1][runner] = routine.part1;读起来像wrongcalculations[1][runner] = sumup.part1;我确实不知道如何声明routine以便它可以用作表示类名的变量。 -
"So it want java to understand (...)"....必须是 "So I want java to understand(...)" 抱歉!!
标签: java arrays variables classname