Java else if

Boa Tarde, Pessoal

Alguém consegue ajudar em uma duvida, estou analisando esse código de um exercicio e não consegui descobrir porque a conta não esta dando exata;

Posta o código completo.

Mas posta o código, não uma foto.

Não esqueça de usar o botão de formatação do fórum: </>.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int codigo;
		int quantidade;
		
		codigo = sc.nextInt();
		quantidade = sc.nextInt();
		
		double total = 0;
		if(codigo == 1) {
			total = quantidade * 4.00;
		}
		
		else if(codigo == 2) {
			total = quantidade * 4.00;
		}
		
		else if(codigo == 3) {
			total = quantidade * 5.00;
		}
		else if (codigo == 4) {
			total = quantidade * 2.00;
			
		}
        else {
       
        	total = quantidade * 1.5;
			
		}
		
		System.out.printf("Total á pagar:  R$ %.2f%n", total);
		
		sc.close();
	}

}

Você está digitando 2, pressionando ENTER e depois digitando 3 e pressionando ENTER e o programa está dizendo que o total é 12?

Caso afirmativo, então seu programa vai atribuir à variável codigo o valor 2 e à variável quantidade o valor 3.

Depois ele vai entrar no if (código == 2) e fazer total = quantidade * 4.00.

Qual resultado você espera após fazer 3 * 4 ?

entendi, obrigado