Tengo varios casos y solo estoy usando bloques simples if ... if else
.Mejorar el código de Java: demasiados si es
¿Cómo puedo reducir el número de declaraciones if
en este código?
Quizás podría usar una tabla de búsqueda, pero no estoy seguro de cómo implementarla en Java.
private int transition(char current, int state)
{
if(state == 0)
{
if(current == 'b')
{
return 1;
}
else
return 0;
}
if(state == 1)
{
if(current == 'a')
{
return 2;
}
else
return 0;
}
if(state == 2)
{
if(current == 's')
{
return 3;
}
else
return 0;
}
if(state == 3)
{
if(current == 'e')
{
return 3;
}
if(current == 'b')
{
return 4;
}
else
return 0;
}
if(state == 4)
{
if(current == 'a')
{
return 5;
}
else
return 0;
}
if(state == 5)
{
if(current == 'l')
{
return 6;
}
else
return 0;
}
else
return 0;
}
¡Mire tantos números mágicos! Considere el uso de algunas constantes con nombre en lugar de 1, 2, 3, 4, 5, 6, etc. Porque en 6 meses, nadie recordará lo que se suponía que significaban 1 o 2. –
Gracias por la ayuda de todos. Aunque no pude aceptar todas las soluciones, aprendí un poco más sobre la codificación de cada una de sus respuestas, así que agradezco mucho la ayuda. Que tengas un buen domingo. – PFranchise