Problema em exercicio

Bom dia gente, sou iniciante em programação, comecei a estudar recentemente, criando um programinha pra praticar tropecei em um problema de logica e não consigo resolver. nesse programinha eu gostaria de obter o valor maximo de lucro, o problema é que esse valor não bate com o valor do ingresso (val_ingre) nem a quantidade de ingresso vendido (qtd_ingre). não sei se me expressei direito, alguem pode me ajudar?. Desde ja obrigado.

import javax.swing.JOptionPane;
class lucro_teatro
{
public static void main(String args[])
{
float qtd_ingre, qtd_ingre_maior, despesas, lucro, lucro_maior;
double val_ingre, val_ingre_maior;

    despesas = 200;
    qtd_ingre = 120;
    lucro_maior = 0;
    qtd_ingre_maior = 0;
    val_ingre_maior = 0;
    for(val_ingre = 5;val_ingre > 1;val_ingre = val_ingre 0.5){
         qtd_ingre = qtd_ingre + 26;
         lucro = qtd_ingre * val_ingre;
             if (lucro > lucro_maior)
                 lucro_maior = lucro;
                 qtd_ingre_maior = qtd_ingre;
                 val_ingre_maior = val_ingre;
         JOptionPane.showMessageDialog(null,"\nSe o valor ingresso for de R$"+val_ingre+
                                            "\n a projeção de lucro sera de R$"+lucro+
                                            "\n e a quantidade de ingresso vendida sera "+qtd_ingre);}
    lucro_maior = lucro_maior - despesas;
    JOptionPane.showMessageDialog(null,"Com base na analise anterior e tirando os R$"+despesas+
                                       "\ndas despesas, o lucro maximo sera de R$"+lucro_maior+
                                       "\nvendendo os ingressos a R$"+val_ingre_maior+
                                       "\nvenderemos a quantidade de "+qtd_ingre_maior+" ingressos");
}

}