Algoritmo de multipla escolha

8 respostas
J

Bom dia tenho algumas duvidas em traduzir algumas funções do meu algoritmo em multipla escolha, vou escreve-lo em portugol e fazer algumas perguntas.

Inicio

Real = Preço;

Inteiro = Origem;

Leia ( Preço, Origem);

escolha Origem;

caso 1: escreva (Preço, " - Produto do Sul");

caso 2: escreva (Preço, " - Produto do Norte");

caso 3: escreva (Preço, " - Produto do Leste");

caso 4: escreva (Preço, " - Produto do Oeste");

caso 7,8,9: escreva (Preço, " - Produto do Sudeste");

caso 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 : escreva (Preço, " - Produto do Centro-Oeste");

caso 5, 6, 25, 26, 27, 28 ,29 ,30: escreva (Preço, " - Produto do Nordeste");

caso contrário: escreva (Preço, - Produto importado);

fimescolha;

fim

agora as minhas duvidas são como ficaria ESCOLHA, CASO, CASO CONTRARIO, FIM ESCOLHE em java? e também da pra mim tipo simplica tipo nos case de 10 até 20 apenas deixar 10…20?

Obrigado

8 Respostas

pmlm

http://download.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

dreampeppers99
ViniGodoy

Use um switch.

Não coloquei todas as condições, mas vc já pode pegar o espírito da coisa:

switch (origem) { case 1: System.out.println(preço + " - Produto Sul"); break; case 2: System.out.println(preço + " - Produto Sul"); break; case 7: case 8: case 9: System.out.println(preço + " - Produto Sudeste"); break; default: System.out.println(preço + " - Produto importado."); break; }

J
Então ViniGodoy fiz o meu baseado no seu e fico isso!
public class Multiplaescolha {

    public double Preco;
    public int Origem;

    public Multiplaescolha(int Origem, double Preco)
    {
        this.Origem = Origem;
        this.Preco = Preco;
    }

    switch (Origem)
            {
            case 1:
                System.out.println(Preco +"- Produto do Sul");
                break;
            case 2:
                System.out.println(Preco +"- Produto do Norte");
                break;
            case 3:
                System.out.println(Preco +"- Produto do Leste");
                break;
            case 4:
                System.out.println(Preco +"- Produto do Oeste");
            case 7:
            case 8:
            case 9:
                System.out.println(Preco +"- Produto do Sudeste");
                break;
            case 10:
            case 11:
            case 12:
            case 13:
            case 14:
            case 15:
            case 16:
            case 18:
            case 19:
            case 20:
                System.out.println(Preco +"- Produto do Centro-Oeste");
                break;
            case 5:
            case 6:
            case 25:
            case 26:
            case 27:
            case 28:
            case 29:
            case 30:
                System.out.println(Preco +"- Produto do Nordeste");
                default;
                System.out.println(Preco +"- Produto Importado");
    }
}

mas ocorreu um erro no switch (Origem) e o Preco + não fica identificado, o que poderia ser?

J

descobri meu erro, não criei um public void ();

Obrigado a todos que ajudaram!

J

erro meu coloquei ponto e virgula, era dois pontos

Obrigado a todos novamente!

R

Cara da uma olhada nisso aqui

http://download.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

luistiagos

esqueça estes switchs… use HashMaps será bem mais conveniente nesta situação:

Map<Integer,String> map = new HashMap(Integer,String);

map.put(1,"- Produto do Sul");
map.put(2,"- Produto do Norte");
//e assim por diante nos outros...

System.out.println(Preco+(map.get(Origem)));
Criado 2 de maio de 2011
Ultima resposta 3 de mai. de 2011
Respostas 8
Participantes 6