我正在编写一个Java应用程序,它在三个字段xyz中绘制加速度计和陀螺仪的最小/最大/平均值的图表。我希望能够独立绘制每个因子,即X字段中的最大加速度与Z字段中的平均加速度等。

我使用了单选按钮来表示最小/最大/平均值以及加速/ y / z和陀螺仪x / y / z。

我还考虑过为每个变量设置最小/最大/平均的单选按钮,但那时我将有18个单独的变量。

这是我的代码片段:

if (selectionAccelX == 1 && selectionAccelY == 0 && selectionAccelZ == 0 &&
    selectionGyroX == 0 && selectionGyroY == 0 && selectionGyroZ == 0 &&
    selectionXAxis == 0) {

    Graphing graphing = new Graphing("Average AccelerationX");
    graphing.setAccelerationX(avgAccXSec);
    graphing.displayGraphing();
    graphing.pack();
    RefineryUtilities.centerFrameOnScreen(graphing);
    graphing.setVisible(true);
}


有没有更简单的方法可以做到这一点?

最佳答案

您的代码将一个变量(单选按钮选择器)映射到另一个变量(值选择器)。
一种可能的解决方案是


添加一个枚举(再次具有18个值)
将枚举的每个值绑定到单选按钮的返回值
根据返回值添加开关/案例以触发正确的行为


我认为这不是更少的代码,而是更具可读性。

08-29 00:18