Мне нужен правильный синтаксис для получения определенного значения перечисления 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
Синтаксис Java – 2D-массив, содержащий условные значения [закрыто] ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1728291864
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????
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;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79061173/java-syntax-2d-array-containing-conditional-values[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия