JavaでYesかNoかの選択肢と入力された数字によって結果が変わるプログラムがif構文の中でうまく機能しないです。


Java初心者です。  
現在、YesかNoかの選択肢と入力された数字（年齢）の条件に合わせて、

Yesの11-60  
Noの12-59  
Noの0-2  
Noの3-11  
Noの12-59

のそれぞれにif構文で分岐してそれぞれ異なる文と写真が出る仕組みを練習で作ろうとしていますが、Yesの11-60とNoの12-59を入力したときの動作が混同してしまいます。

数字が同じでもYes/Noの入力が異なるときに、結果が分岐するにはどうしたらいいでしょうか？

# コード内容

[code]

    import java.awt.Graphics;
    import javax.swing.*;
    
    public class conditionalLab extends JPanel {
        
        int age;
        ImageIcon picture1;
        ImageIcon picture2;
        ImageIcon picture3;
        ImageIcon picture4;
        int favorite;
        
        public conditionalLab() {
            //Your custom initialization code here
            JOptionPane.showConfirmDialog(null,
                                        "Are you Student or Military?",
                                        "Laie Palms Cinemas",
                                        JOptionPane.YES_NO_OPTION);
                                        
            final String mike = JOptionPane.showInputDialog("Please enter your age.");
            age = Integer.parseInt(mike);
            
            picture1 = new ImageIcon("dolittle.png");
            picture2 = new ImageIcon("frozen2.png");
            picture3 = new ImageIcon("starwars9.png");
            picture4 = new ImageIcon("Daisy.png");
        }
    
        @Override
        public void paintComponent(Graphics g) {
            //Your custom rendering code here
            if ((favorite == JOptionPane.YES_OPTION) && (age >= 11) && (age <= 60)){
                g.drawString("That will be $8.00, please", 10, 30);
                picture3.paintIcon(null, g, 10, 50);
    
            } else if ((favorite == JOptionPane.NO_OPTION) && (age >= 0) && (age <= 2)){
                g.drawString("You get free!",10,10);
                picture1.paintIcon(null, g, 10, 50);
    
            } else if ((favorite == JOptionPane.NO_OPTION) && (age >= 3) && (age <= 11)){
                g.drawString("You owe $7.00!",10,10);
                picture2.paintIcon(null, g, 10, 50);
    
            } else if ((favorite == JOptionPane.NO_OPTION) && (age >= 12) && (age <= 59)){
                g.drawString("You owe $10.00!",10,10);
                picture3.paintIcon(null, g, 10, 50);
    
            }else if ((favorite == JOptionPane.NO_OPTION) && (age >= 60) && (age <= 119)){
                g.drawString("That will be $7.00, please",10,10);
                picture4.paintIcon(null, g, 10, 50);
    
            } else if ((favorite == JOptionPane.NO_OPTION) && (age >= 120) && (age <= -1)){
                g.drawString("Are you sure you typed that correctly?",10,10);
               
            } 
        
        }
    
        public static void main(String[] args) {
            JFrame window = new JFrame();
            window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            window.setSize(300,300);
            window.setContentPane(new conditionalLab());
            window.setVisible(true);
        }
    }
    
[/code]

# 本来の結果

[code]

    Noで12-59のいずれかの数字を入力した場合：
    You owe $10.00!
    
    Yesで11-60のいずれかの数字を入力した場合：
    That will be $8.00, please"
    
[/code]

# 実際に上のコードを使った結果

[code]

    Noで12-59のいずれかの数字を入力した場合：
    That will be $8.00, please
    
    Yesで11-60のいずれかの数字を入力した場合：
    That will be $8.00, please
    
[/code]




コメントに頂いた修正内容と最後のelsifの構文をelse構文に修正して、本来の趣旨通りに動作できたコードを下記に載せます。この度は助けて下さり、ありがとうございました！

[code]

    import java.awt.Graphics;
    import javax.swing.*;
    
    public class conditionalLab extends JPanel {
    
        int age;
        ImageIcon picture1;
        ImageIcon picture2;
        ImageIcon picture3;
        ImageIcon picture4;
        int jobs;
    
        public conditionalLab() {
            //Your custom initialization code here
            jobs = JOptionPane.showConfirmDialog(null,
                                        "Are you Student or Military?",
                                        "Laie Palms Cinemas",
                                        JOptionPane.YES_NO_OPTION);
    
            final String mike = JOptionPane.showInputDialog("Please enter your age.");
            age = Integer.parseInt(mike);
    
            picture1 = new ImageIcon("dolittle.png");
            picture2 = new ImageIcon("frozen2.png");
            picture3 = new ImageIcon("starwars9.png");
            picture4 = new ImageIcon("Daisy.png");
        }
    
        @Override
        public void paintComponent(Graphics g) {
            //Your custom rendering code here
    
            if ((jobs == JOptionPane.YES_OPTION) && (age >= 11) && (age <= 60)){
                g.drawString("That will be $8.00, please", 10, 30);
                picture3.paintIcon(null, g, 10, 50);
    
            } else if ((jobs == JOptionPane.NO_OPTION) && (age >= 0) && (age <= 2)){
                g.drawString("You get free!",10,10);
                picture1.paintIcon(null, g, 10, 50);
    
            } else if ((jobs == JOptionPane.NO_OPTION) && (age >= 3) && (age <= 11)){
                g.drawString("You owe $7.00!",10,10);
                picture2.paintIcon(null, g, 10, 50);
    
            } else if ((jobs == JOptionPane.NO_OPTION) && (age >= 12) && (age <= 59)){
                g.drawString("You owe $10.00!",10,10);
                picture3.paintIcon(null, g, 10, 50);
    
            } else if ((jobs == JOptionPane.NO_OPTION) && (age >= 60) && (age <= 119)){
                g.drawString("That will be $7.00, please",10,10);
                picture4.paintIcon(null, g, 10, 50);
    
            } else{
                g.drawString("Are you sure you typed that correctly?",10,10);
    
            }  
    
        }
    
    　　public static void main(String[] args) {
        　　SwingUtilities.invokeLater(() -> {
            　　JFrame window = new JFrame();
            　　window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            　　window.setSize(300, 300);
            　　window.setContentPane(new conditionalLab());
            　　window.setVisible(true);
       });
    }
    
[/code]

