Я знаю, это звучит ужасно, но в моей java-программе у меня есть около 100 операторов if-else, все из которых содержат 3 переменные, которые должны оставаться уникальными для этих блоков if-else, 1 - это флаг, используемый для определения того, когда это происходит в первый раз. когда он попадает в этот блок if-else, а остальные 2 являются строками и временными переменными, хранящими те данные, которые использовались в прошлый раз, когда он проходил через этот блок if-else, так что их можно сравнить с данными, проходящими через это время, извините, если это звучит неаккуратно, я ненавижу идею иметь так много блоков if-else, но сейчас я больше беспокоюсь о переменных, потому что если я сделаю 3 переменные для каждого блока, который является дополнительными 300 переменными. Любые предложения о том, что я мог бы реализовать, чтобы уменьшить количество переменных, одна идея у меня была 1 массив для всех флагов, а затем 2d массив, содержащий 2 строки для каждого блока if-else. Спасибо Говядина.
Отредактировано: , чтобы показать пример первых двух блоков if-else, все остальные имеют один и тот же код внутри только с разными именами для флага и временных переменных ex. ac101Flag, tempAC101Start, tempAC101End
// AC 101
if (room.equals("FEB 2009") || room.equals("FEB 2011") ||room.equals("FEB 2013") || room.equals("FEB 2015") || room.equals("FEB 2017") ||
room.equals("FEB 2021") || room.equals("FEB 2023") || room.equals("FEB 2025") || room.equals("FEB 2027") || room.equals("FEB 2029")) {
instanceNum = 4;
devID = 130200;
if (ac101Flag == false) {
Delete();
Insert();
ac101Flag = true;
tempAC101Start = Double.parseDouble(finalStart.substring(0, 5).replace(':', '.'));
tempAC101End = Double.parseDouble(finalEnd.substring(0, 5).replace(':', '.'));
}
//Insert();
else if (tempAC101Start <= (Double.parseDouble(finalStart.substring(0, 5).replace(':', '.'))) && tempAC101End >= Double.parseDouble(finalEnd.substring(0, 5).replace(':', '.'))) {
}
else
{
Insert();
tempAC101Start = Double.parseDouble(finalStart.substring(0, 5).replace(':', '.'));
tempAC101End = Double.parseDouble(finalEnd.substring(0, 5).replace(':', '.'));
}
}
// AC 102
else if(room.equals("FEB 1130")) {
instanceNum = 4;
devID = 130400;
if (ac102Flag == false) {
Delete();
Insert();
ac102Flag = true;
tempAC101Start = Double.parseDouble(finalStart.substring(0, 5).replace(':', '.'));
tempAC101End = Double.parseDouble(finalEnd.substring(0, 5).replace(':', '.'));
}
//Insert();
else if (tempAC101Start <= (Double.parseDouble(finalStart.substring(0, 5).replace(':', '.'))) && tempAC101End >= Double.parseDouble(finalEnd.substring(0, 5).replace(':', '.'))) {
}
else
{
Insert();
tempAC101Start = Double.parseDouble(finalStart.substring(0, 5).replace(':', '.'));
tempAC101End = Double.parseDouble(finalEnd.substring(0, 5).replace(':', '.'));
}
}