Синтаксис Java – 2D-массив, содержащий условные значения [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Синтаксис Java – 2D-массив, содержащий условные значения [закрыто]

Сообщение Anonymous »

Мне нужен правильный синтаксис для получения определенного значения перечисления ChartValue (класс перечисления ChartValue) из конечного двумерного массива. Некоторые из этих возвращаемых значений зависят от того, выполнено или нет внешнее условие. Пожалуйста, сообщите, если реализация кажется не адаптированной.
chartsValues2DArray известен до компиляции и поэтому должен быть окончательным. Как видите, условие применяется только к определенным координатам (x,y).
private final static ChartValue[][] chartValues2DArray = (boolean condition) -> { //compilation error
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},

};

public static void main(String[] args){
boolean condition = isConditionMet();
int rowIndex=getRowIndex();
int colIndex=getColIndex();

//Current solution (compiles and works)
ChartValue chartValue = getChartValue(condition, rowIndex, colIndex);

//Desired solution
//ChartValue chartValue = chartValues2DArray[rowIndex][colIndex](condition); //Is such thing even possible????

//Print
System.out.println("chartValue: "+chartValue);
}

private static ChartValue getChartValue(boolean condition, int rowIndex, int colIndex){
//Local variable
ChartValue[][] chartValues2DArray = {
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
{ChartValue.VALUE_1, ChartValue.VALUE_1, condition ? ChartValue.VALUE_1 : ChartValue.VALUE_2, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1, ChartValue.VALUE_1,},
};
ChartValue chartValue = chartValues2DArray[rowIndex][colIndex];

return chartValue;

}

public enum ChartValue{
VALUE_1("VALUE_1"), VALUE_2("VALUE_2");
private String value;

private ChartValue(String value){
this.value = value;
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... nal-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»