Ajuda com Prova

Ola Pessoal tenho uma prova semples ate,mas pra mim ta fogo fiz isso ate agora

import java.util.Scanner;

public class Prova3 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int tipoLigacao = 0;
        int tempoHoras = 0;
        int tempoMinutos = 0;
        int ligacao = 0;
        int Operadora = 0;
        int DDI = 0;
        int DDD = 0;
        int calcLocal = 0;
        double custo21 = 0.20;
        double custo14 = 0.28;
        double custoLocal = 0.35;
        double custoInterurbanoFixo = 0.48;
        double custoInterurbanoCelular = 0.68;
        double custoInternacionalFixo = 0.99;
        double custoInternacionalCelular = 2.87;
        double custo = 0;
        String NumeroTelefone;
        String nome;
        int NumeroLiga = 0;

        String pergunta;
        Scanner dados = new Scanner(System.in);
        do {
            System.out.println("Digite seu nome :");
            nome = dados.next();
            System.out.println("Digite seu sexo :");
            String sexo = dados.next();

            if (sexo.equalsIgnoreCase("F") || sexo.equalsIgnoreCase("FEMININO")) {
                System.out.println("Seja Bem Vinda ao SEUPHONE Sra " + nome);
            } else {
                System.out.println("Seja bem vindo ao SEUPHONE Sr° " + nome);

            }// fim do else e do if
                // inicio do programa:
        /**        // PEGANDO DADOS DO TIPO DE LIGAĒĆO
            System.out
                    .println("Digite o numero de Ligaēćoes que Pretende fazer:");
            NumeroLiga = dados.nextInt();

            for (int i = 0; i >= NumeroLiga; i--) {
                System.out.println("Numero de chamadas=" + NumeroLiga
                        + "Para o Usuįrio" + nome);
                i--;
*/
                System.out
                        .println("Escolha o tipo de Ligaēćo 1-Local|2-Interurbano|3-Internacional");
                tipoLigacao = dados.nextInt();

                System.out.println("Ligaēćo para: 1-Fixo|2-Celular");
                ligacao = dados.nextInt();

                System.out.println("Digite DDD de Destino");
                DDD = dados.nextInt();

                System.out.println("Tempo desejado da Ligaēćo em horas");
                tempoHoras = dados.nextInt();
                int Minutos = tempoHoras * 60;
                int Segundos = Minutos * 60;

                System.out.println("Tempo desejado da Ligaēćo em minutos");
                tempoMinutos = dados.nextInt();
                System.out
                        .println("Digite o código da operadora 21 para TIM ou 14 Para claro");
                Operadora = dados.nextInt();

                System.out.println("Digite o DDI do Paķs");
                DDI = dados.nextInt();

                System.out.println("Digite o Telefone");
                NumeroTelefone = dados.next();

                // Tipo de Ligaēćo Local usando Operadora 21 para tel fixo
                if (tipoLigacao == 1 && Operadora == 21 && ligacao == 1) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo21 + custoLocal) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);

                }else{
                    System.out.println("Nenhum dado selecionado");
                }
               
               
                // Tipo de Ligaēćo Local Usando Operadora 21 para celular
                if (tipoLigacao == 1 && Operadora == 21 && ligacao == 2) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo21 + custoLocal) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Tipo de Ligaēćo Local usando Operadora 14 para tel fixo
                if (tipoLigacao == 1 && Operadora == 14 && ligacao == 1) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo14 + custoLocal) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }
                // Tipo de Ligaēćo Local usando operadora 14 para celular
                if (tipoLigacao == 1 && Operadora == 14 && ligacao == 2) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo14 + custoLocal) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }
                // Ligando Interurbano com 21 para fixo
                if (tipoLigacao == 2 && Operadora == 21 && ligacao == 1) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo21 + custoInterurbanoFixo) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }
                // Ligando Interurbano com 21 para celular
                if (tipoLigacao == 2 && Operadora == 21 && ligacao == 2) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo21 + custoInterurbanoCelular) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Ligando Interurbano com 14 para fixo
                if (tipoLigacao == 2 && Operadora == 14 && ligacao == 1) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo14 + custoInterurbanoFixo) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }
                // Ligando Interurbano com 14 para celular
                if (tipoLigacao == 2 && Operadora == 14 && ligacao == 2) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo14 + custoInterurbanoCelular) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Ligando Internacional com 14 para fixo
                if (tipoLigacao == 3 && Operadora == 14 && ligacao == 1) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo14 + custoInternacionalFixo) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Ligando Internacional com 14 para celular
                if (tipoLigacao == 3 && Operadora == 14 && ligacao == 2) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo14 + custoInternacionalCelular) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Ligando Internacional com 21 para fixo
                if (tipoLigacao == 3 && Operadora == 21 && ligacao == 1) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo21 + custoInternacionalFixo) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Ligando Internacional com 21 para Celular
                if (tipoLigacao == 3 && Operadora == 21 && ligacao == 2) {
                    int minuto = tempoHoras * 60 + tempoMinutos;
                    custo = ((custo21 + custoInternacionalCelular) * minuto);
                    System.out.println("Chamado...\n" + "(" + DDI + ")" + "("
                            + DDD + ")" + NumeroTelefone
                            + "\nCom Tempo Permitido em " + Segundos
                            + " Segundos " + "custo de R$:" + custo);
                }else{
                    System.out.println("Nenhum dado selecionado");
                }

                // Tipo de Ligaēćo Interurbana usando oepradora 21 para fixo

                // =======================================================================================

                // Pegando dados e calculando
           
            System.out
                    .println("Deseja Fazer outra Ligaēćo? Digite \n 1-SIM  OU 2-SAIR");
            pergunta = dados.next();
            if(pergunta=="2"){
                System.out.println("Saindo do Sistema");
                System.exit(0);
               
            }
        } while (pergunta.equalsIgnoreCase("1"));// fim do do

    }
}

A PROVA PEDE ISSO:

Data limite de entrega: 18/08 (até às 18h00).
Projeto
O Software SEUPHONE foi desenvolvido para rodar apenas em computadores.
Ele permite fazer ligações para telefones fixos, celulares, além de ligações internacionais.
O local de origem não influenciará no custo (O software foi desenvolvido apenas para usuários de Brasília). A
operadora deverá ser escolhida mesmo se a ligação for local.
Fazer o programa no seguinte formato:

Digite seu nome:
Livia
Digite seu sexo (F/M):
F

Bem-vinda ao SEUPHONE, Livia!

Escolha o tipo de ligação:
1 ? Local
2 ? Interurbano
3 ? Internacional
1

Ligação para:
1 ? Telefone fixo
2 ? Celular
2

IMPRIMIDO DADOS DIGITADOS
DDD do País de destino:
55
DDD da cidade de destino:
61
Operadora (21 ou 14):
21
Número de telefone do destino:
9999-2222

ESCOLHNEDO O TEMPO EMOSTRANDO NA TELA
Tempo desejado de ligação em horas: //Obs: Número inteiro
0
Tempo desejado de ligação em minutos: // Obs: Número inteiro
10

0(55)(61) 9999-2222
CHAMANDO…
Tempo de ligação permitida (em segundos) : 600
Custo: 5.50
Número de ligações efetuadas deste o último Logon:0 1(AKI SERIA UM FOR,QUERIA SABER ONDE PONHO ELE N MEU CODIGO)
Deseja fazer outra ligação? S/N
Seguir as seguintes tabelas de preços, para o cálculo dos custos das ligações:

  1. Local - para fixo ou celular: R$ 0.35/min
  2. Interurbano - para fixo: R$ 0.48/min
  3. Interurbano - para celular: R$ 0.68/min
  4. Internacional - para fixo: R$ 0.99/min
  5. Internacional - para celular: R$ 2.87/min
    Operadora:
  6. 21 ? R$: 0.20/min
  7. 14 ? R$: 0.28/min
    Custo: Operadora + tipo de ligação(fixo ou celular ? internacional, interurbano ou local).
    Legenda:
    Amarelo: Como o sistema deverá mostrar as frases.
    Verde: Dados obtidos /calculados de acordo com a informação fornecida pelo usuário.
    Rosa: Quantidade de loops (de ligações efetuadas).
    Respostas sem destaque: Informação digitada pelo usuário (Fiz só para exemplificar).
    Usar obrigatoriamente: If Else , Switch Case, e estrutura de repetição.

E?

queria saber onde eu ponho o for pra contar o numero de chamadas efetuadas pelo usuario e se ta certo o que fiz rsrs

Vc não precisa usar o “for” para contar o número de chamada. Aliás, o “for” é utilizado quando vc já sabe quantas vezes o loop será executado para determinado trecho de algoritimo.
Para saber quantas chamadas efetuadas bastaria vc declarar uma variável global como um contador e a cada chamada o contador seria acrescido de um.
Ex:

private int numeroChamadas = 0; //dentro do if da ligaçao numeroChamadas++;

Quanto ao código, não está muito orientado a objetos. Mas como é iniciante poderia começar a implementar uma classe só para lógica do seu problema e depois instanciar o objeto dessa classe na classe Main.

Caramba, vc está programando em linguagem C ou em Java?

Cade objetos nisso? tudo é atributo

Sexo, numero do telefone e nome poderia ser atributos de uma classe Pessoa né?
Pergunta e resposta poderia ser uma outra classe né?
Custo outra classe, com atributos valor21, valor14, valorLocal, valorInterurbanoFixo… etc…
Ligacao outra, com Codigo operadora (DDD ou DDI), tipo ligacao, operadora, e Custo (atributo da classe Custo!!)

mais ou menos assim:
Pessoa (String sexo, String telefone, String nome)
Questionario(String pergunta, String resposta)
Custo (BigDecimal valor21, BigDecimal valor14, BigDecimal valorLocal…)
TipoLigacao (ENUM LOCAL, INTERURBANO, INTERNACIONAL)
Ligacao (Custo custo, String codOperadora, TipoLigacao tipoLigacao, String operadora)

Recomendo estudar um pouco (na verdade bastante) a mais sobre orientacao a objetos

opa entao não e java aindaaa e lógica de programação…

Vc não precisa usar o “for” para contar o número de chamada. Aliás, o “for” é utilizado quando vc já sabe quantas vezes o loop será executado para determinado trecho de algoritimo.
Para saber quantas chamadas efetuadas bastaria vc declarar uma variável global como um contador e a cada chamada o contador seria acrescido de um.
Ex:

private int numeroChamadas = 0; //dentro do if da ligaçao numeroChamadas++;

Quanto ao código, não está muito orientado a objetos. Mas como é iniciante poderia começar a implementar uma classe só para lógica do seu problema e depois instanciar o objeto dessa classe na classe Main.[/quote]

[quote]luzales vou fazer o que falou implementar começando aver como objetos valeu galera/quote]