Dúvida para chamar um letra para calcular

Pessoal, bom dia, tarde ou noite.

Bom, sou iniciante no mundo java, já fiz alguns exercícios, porém, me ocorreu uma dúvida, neste exercício.

O exercicio pede criar uma classe TesteProduto2, na qual o usúario deve digitar a região em que se encontra o cálculo do frete da entrega, colocando no final o preço do produto.

Mostrarei classe e classe principal.

classe Produto
public int calcularFrete(int km) {
this.frete = km * 1.5;
return km;

public void calcularFrete(char regiao, String LetraString) {

	switch(regiao) {
	case 'I': System.out.println("Região para Entrega: Interior ");
	this.frete =  100;
	break;
	
	case 'M' : System.out.println("Região para Entrega: Metropolitana");
	this.frete = 0;
	break;

	case 'L' : System.out.println("Região para Entrega : Litoral");
	this.frete = 20;
	break;
	
	default: System.out.println("Por favor informe: (I)nterior, (M)etropolitana ou (L)itoral");
	break;
	}

classe Principal
public class TestaP {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	Produto p = new Produto();
	
	int regiao;
	String c = "L";
	c = (JOptionPane.showInputDialog("Digite uma letra: "));
	p.calcularFrete(c.charAt(0));
	

	System.out.println("O produto descrito é : " +p.getFrete());

}

Na classe principal foi o que tentei, ele até calcula, mas, basta eu por qualquer letra que ele faz o calculo e nem é o calculo certo. Gostaria de saber como faço para calcular o frete de acordo com a letra? Eu tenho que fazer algum casting ou a essa forma que montei já ajuda? Eu tenho que chamar o calcularFreteProduto(int km) ou calcularFrete(char regiao) o LetraString eu coloquei depois para vê se conseguia fazer o calculo. Desde já agradeço

public void calcularFrete(char regiao, String LetraString) {

int regiao;