1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em JAVA

Discussão em 'Programação' iniciada por nfp, 10 de Novembro de 2007. (Respostas: 26; Visualizações: 1907)

  1. nfp

    nfp

    Olá pessoal.

    Gostaria de saber se alguém tem por aí guardado no pc algumas linhas de código que ajudem a fazer um programa em JAVA de uma conta corrente.

    Não quero o programa feito, mas tou com alguns problemas que ñ consigo resolver e o prazo aperta!!

    Abraço
     
  2. wavee

    wavee Power Member

    Seminários ? Ispgaya?:p
    Também tenho de fazer isso mas ainda não comecei...
     
  3. guilherme

    guilherme Power Member

    Acho que ninguém o vai fazer, se meteres aqui duvidas concretas ai sim recebes ajuda
     
  4. nfp

    nfp

    Olá.

    Um dos problemas que estou a ter é como buscar os valores das variáveis de um método para usar num cálculo em outro método.

    Preciso também de fazer controlo de erros, e para tal só posso permitir inserir algarismos num certo intervalo. Como fazer para ñ deixar introduzir letras e algarismos fora do intervalo??

    Como disse, ñ quero que me façam o programa, até pq já tenho muita coisa feita...

    Abraço
     
  5. MadOnion

    MadOnion Folding Member

    Essas variáveis devem ser atributos(privados, publicos, protected, whatever) da classe, assim já podes usar em quaisquer circustâncias da classe.

    Sendo java uma linguagem orientada a objectos, e mais que isso deve-se praticar programação por contratos, existem assinaturas para prevenir o utilizador de praticas alguns erros, se tiveres um metodo com a seguinte assinatura:
    Código:
    public boolean primo(int n);
    
    Podes "alertar" ao utilizador que o n não deve ser negativo(já não digo maior ou igual a 2), e então deves usar o seguinte:
    Código:
    [email protected] n >= 0;
    public boolean primo(int n);
    
    A isto chama-se programação por contratos, o utilizador é responsável pelos erros que comete.

    Por outro lado, podes usar programação defensiva e introduzir ifs de forma a apanhar quaisquer erros que o utilizador possa cometer:
    Código:
    public boolean primo (int n) {
    if (n < 2)
    return false;
    else
    //faz muita coisa
    
    O programador é responsável por previnir o utilizador com mensagens sugestivas.

    Explicito ou nem por isso?
    Cumps
     
  6. theforbidden1

    theforbidden1 Banido

    Talves utilizando variáveis globais á classe, ou utilizando 1 array, ou talves criando 1 classe para conter esses dados que pretendes partilhar entre metodos/classes...
     
  7. nfp

    nfp

    Agradeço a ajuda, mas não foi muito claro.

    Fiz dois códigos estruturados de maneira diferente. o primeiro é:

    Código:
    package fase_1;
    
    import java.io.*;
    import java.text.DecimalFormat;
    
    public class ContaCorrente {
    
        /**
         * @param args
         */
        public static void main(String[] args) throws IOException{
            // TODO Auto-generated method stub
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    // DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O MENU PRINCIPAL
            String ent_opc;
            int opc = 0;
        
            
            System.out.println("Projecto realizado por:");
            System.out.println("Autor 1 - nº XXXX");
            System.out.println("Autor 2 - nº XXXX");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU PRINCIPAL");
            System.out.println("");
            System.out.println("1 - Entradas");
            System.out.println("2 - Saídas");
            System.out.println("3 - Eliminar o último movimento");
            System.out.println("4 - Saldo corrente");
            System.out.println("5 - Movimentos efectuados");
            System.out.println("6 - Média de gastos");
            System.out.println("7 - Sair");
            System.out.print("Escolher o número que corresponde à opção desejada:");
            
            ent_opc = ler.readLine();
            opc = Integer.parseInt(ent_opc);
            
            if(opc != 1 && opc != 2 && opc != 3 && opc != 4 && opc != 5 && opc != 6 && opc != 7){
                System.out.println("");
                System.out.println("");
                System.out.println("Opcão inválida");
                System.out.print("Escolher o número que corresponde à opção desejada:");
                
                ent_opc = ler.readLine();
                opc = Integer.parseInt(ent_opc);
            }
            
            switch (opc){
            case 1:menu_entradas();
                   break;
            case 2:menu_saidas();
                      break;
            case 3:break;
            case 4:menu_saldo();
                   break;
            case 5:break;
            case 6:menu_media_gastos();
                         break;
            case 7:break;
            }
    
        }
        
        private static int menu_entradas() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O SUBMENU ENTRADAS
            String ent_salario;
            double salario = 0;
            String ent_juro;
            double juro = 0;
            String ent_outros;
            double outros = 0;
            String ent_opc_entradas;
            int opc_entradas;
            String ent_total_entradas;
            double total_entradas;
            
            do{
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU ENTRADAS");
            System.out.println("1 - Salário");
            System.out.println("2 - Juros");
            System.out.println("3 - Outros");
            System.out.println("4 - Voltar ao menu principal");
            System.out.print("Introduza a opção desejada:");
                    
            ent_opc_entradas = ler.readLine();
            opc_entradas = Integer.parseInt(ent_opc_entradas);        
            }while(opc_entradas < 0 || opc_entradas > 5);
            
            
            switch(opc_entradas){
            case 1:System.out.print("Introduza o salário a creditar:");
            ent_salario = ler.readLine();
            salario = Double.parseDouble(ent_salario);
            break;
            case 2:System.out.println("Introduza o valor do juro:");
            ent_juro = ler.readLine();
            juro = Double.parseDouble(ent_juro);
            break;
            case 3:System.out.print("Introduza outro valor a creditar:");
            ent_outros = ler.readLine();
            outros = Double.parseDouble(ent_outros);
            break;
            case 4:main(null);
            break;
            }
            
            
            total_entradas = salario + juro + outros;
            System.out.print("TOTAL DE ENTRADAS = "+total_entradas);
            
            return 0;
            
        }
        
        private static int menu_saidas() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
    
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O SUBMENU SAÍDAS
            String ent_casa;
            double casa = 0;
            String ent_carro_seg;
            double carro_seg = 0;
            String ent_energia_tel;
            double energia_tel = 0;
            String ent_alimentacao;
            double alimentacao = 0;
            String ent_vestuario;
            double vestuario = 0;
            String ent_educacao;
            double educacao = 0;
            String ent_outros;
            double outros = 0;
            String ent_opc_saidas;
            int opc_saidas;
            String ent_total_saidas;
            double total_saidas;
            
            
            
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU SAÍDAS");
               System.out.println("1 - Casa");
               System.out.println("2 - Carro / Seguros");
               System.out.println("3 - Energia / Telecomunicações");
               System.out.println("4 - Alimentação");
               System.out.println("5 - Vestuário");
               System.out.println("6 - Educação");
               System.out.println("7 - Outros");
               System.out.println("8 - Voltar ao menu principal");
               System.out.print("Introduza a opção desejada:");
               
               ent_opc_saidas = ler.readLine();
            opc_saidas = Integer.parseInt(ent_opc_saidas);
            
            switch(opc_saidas){
            case 1:System.out.print("Introduza o valor gasto na casa:");
            ent_casa = ler.readLine();
            casa = Double.parseDouble(ent_casa);
            break;
            case 2:System.out.println("Introduza o valor gasto no carro/seguro:");
            ent_carro_seg = ler.readLine();
            carro_seg = Double.parseDouble(ent_carro_seg);
            break;
            case 3:System.out.print("Introduza o valor gasto em energia/telecomunicações:");
            ent_energia_tel = ler.readLine();
            energia_tel = Double.parseDouble(ent_energia_tel);
            break;
            case 4:System.out.print("Introduza o valor gasto na alimentação:");
            ent_alimentacao = ler.readLine();
            alimentacao = Double.parseDouble(ent_alimentacao);
            break;
            case 5:System.out.print("Introduza o valor gasto em vestuário:");
            ent_vestuario = ler.readLine();
            vestuario = Double.parseDouble(ent_vestuario);
            break;
            case 6:System.out.print("Introduza o valor gasto em educação:");
            ent_educacao = ler.readLine();
            educacao = Double.parseDouble(ent_educacao);
            break;
            case 7:System.out.print("Introduza outros gastos:");
            ent_outros = ler.readLine();
            outros = Double.parseDouble(ent_outros);
            break;
            case 8:main(null);
            break;
            }
            
            total_saidas = casa + carro_seg + energia_tel + alimentacao + vestuario + educacao + outros;
            System.out.print("TOTAL DE SAIDAS = "+total_saidas);
            
            return 0;
            
        }
        
        private static int menu_saldo() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O SUBMENU SALDO
            double saldo = 0;
            
            System.out.println("Saldo da conta corrente: "+saldo+" €");
            
            return 0;        
            
        }
    
        private static int menu_media_gastos() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU MÉDIA GASTOS");
               System.out.println("1 - Semanais");
               System.out.println("2 - Mensais");
               System.out.println("3 - Voltar ao menu principal");
            
               return 0;
            
        }
    
    }
    o segundo é:
    Código:
    package fase_1;
    
    import java.io.*;
    import java.text.DecimalFormat;
    
    public class CC1 {
    
        /**
         * @param args
         */
        public static void main(String[] args) throws IOException{
            // TODO Auto-generated method stub
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O MENU PRINCIPAL
            String ent_opc;
            int opc = 0;
            String ent_opc_entradas;
            int opc_entradas = 0;
            String ent_opc_saidas;
            int opc_saidas = 0;
            String ent_salario;
            double salario = 0;
            String ent_juro;
            double juro = 0;
            String ent_outros_entradas;
            double outros_entradas = 0;
            String ent_total_entradas;
            double total_entradas = 0;
            String ent_casa;
            double casa = 0;
            String ent_carro_seg;
            double carro_seg = 0;
            String ent_energia_tel;
            double energia_tel = 0;
            String ent_alimentacao;
            double alimentacao = 0;
            String ent_vestuario;
            double vestuario = 0;
            String ent_educacao;
            double educacao = 0;
            String ent_outros_saidas;
            double outros_saidas = 0;
            String ent_total_saidas;
            double total_saidas = 0;
            double saldo = 0;
        
            
            System.out.println("Projecto realizado por:");
            System.out.println("Autor 1 - nº XXXX");
            System.out.println("Autor 2 - nº XXXX");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU PRINCIPAL");
            System.out.println("");
            System.out.println("1 - Entradas");
            System.out.println("2 - Saídas");
            System.out.println("3 - Eliminar o último movimento");
            System.out.println("4 - Saldo corrente");
            System.out.println("5 - Movimentos efectuados");
            System.out.println("6 - Média de gastos");
            System.out.println("7 - Sair");
            System.out.print("Escolher o número que corresponde à opção desejada:");
            ent_opc = ler.readLine();
            opc = Integer.parseInt(ent_opc);
            
            if(opc != 1 && opc != 2 && opc != 3 && opc != 4 && opc != 5 && opc != 6 && opc != 7){
                System.out.println("");
                System.out.println("");
                System.out.println("Opcão inválida");
                System.out.print("Escolher o número que corresponde à opção desejada:");
                
                ent_opc = ler.readLine();
                opc = Integer.parseInt(ent_opc);
            }
            
            switch (opc){
            case 1:System.out.println("");
                   System.out.println("");
                   System.out.println("");
                   System.out.println("");
                   System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
                   System.out.println("                                          MENU ENTRADAS");
                   System.out.println("1 - Salário");
                   System.out.println("2 - Juros");
                   System.out.println("3 - Outros");
                   System.out.println("4 - Voltar ao menu principal");
                   System.out.print("Introduza a opção desejada:");
                   ent_opc_entradas = ler.readLine();
                   opc_entradas = Integer.parseInt(ent_opc_entradas);
                   break;
            case 2:System.out.println("");
                   System.out.println("");
                   System.out.println("");
                   System.out.println("");
                   System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
                   System.out.println("                                          MENU SAÍDAS");
                   System.out.println("1 - Casa");
                   System.out.println("2 - Carro / Seguros");
                   System.out.println("3 - Energia / Telecomunicações");
                   System.out.println("4 - Alimentação");
                   System.out.println("5 - Vestuário");
                   System.out.println("6 - Educação");
                   System.out.println("7 - Outros");
                   System.out.println("8 - Voltar ao menu principal");
                   System.out.print("Introduza a opção desejada:");
                      ent_opc_saidas = ler.readLine();
                   opc_saidas = Integer.parseInt(ent_opc_saidas);
                      break;
            case 3:break;
            case 4:saldo = total_entradas - total_saidas;
                   System.out.println("Saldo da conta corrente: "+saldo+" €");
                   break;
            case 5:break;
            case 6:System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
                   System.out.println("                                          MENU MÉDIA GASTOS");
                   System.out.println("1 - Semanais");
                   System.out.println("2 - Mensais");
                   System.out.println("3 - Voltar ao menu principal");
                         break;
            case 7:break;
            }
            
            switch(opc_entradas){
            case 1:System.out.print("Introduza o salário a creditar:");
            ent_salario = ler.readLine();
            salario = Double.parseDouble(ent_salario);
            System.out.print("Deseja introduzir mais valores? 1(SIM) / 0(NÃO)");
            
            break;
            case 2:System.out.println("Introduza o valor do juro:");
            ent_juro = ler.readLine();
            juro = Double.parseDouble(ent_juro);
            break;
            case 3:System.out.print("Introduza outro valor a creditar:");
            ent_outros_entradas = ler.readLine();
            outros_entradas = Double.parseDouble(ent_outros_entradas);
            break;
            case 4:break;
            }
            
            total_entradas = salario + juro + outros_entradas;
            
            switch(opc_saidas){
            case 1:System.out.print("Introduza o valor gasto na casa:");
            ent_casa = ler.readLine();
            casa = Double.parseDouble(ent_casa);
            break;
            case 2:System.out.println("Introduza o valor gasto no carro/seguro:");
            ent_carro_seg = ler.readLine();
            carro_seg = Double.parseDouble(ent_carro_seg);
            break;
            case 3:System.out.print("Introduza o valor gasto em energia/telecomunicações:");
            ent_energia_tel = ler.readLine();
            energia_tel = Double.parseDouble(ent_energia_tel);
            break;
            case 4:System.out.print("Introduza o valor gasto na alimentação:");
            ent_alimentacao = ler.readLine();
            alimentacao = Double.parseDouble(ent_alimentacao);
            break;
            case 5:System.out.print("Introduza o valor gasto em vestuário:");
            ent_vestuario = ler.readLine();
            vestuario = Double.parseDouble(ent_vestuario);
            break;
            case 6:System.out.print("Introduza o valor gasto em educação:");
            ent_educacao = ler.readLine();
            educacao = Double.parseDouble(ent_educacao);
            break;
            case 7:System.out.print("Introduza outros gastos:");
            ent_outros_saidas = ler.readLine();
            outros_saidas = Double.parseDouble(ent_outros_saidas);
            break;
            case 8:break;
            }
            
            total_saidas = casa + carro_seg + energia_tel + alimentacao + vestuario + educacao + outros_saidas;
            
            
    
        }
    
    }
    Espero que assim me consigam ajudar.

    Abraço
     
    Última edição: 12 de Novembro de 2007
  8. AliFromCairo

    AliFromCairo Power Member

    Podias ser mais específico em relação aos problemas que estás a ter com o código que colocaste acima.
     
  9. rj.rodrigues

    rj.rodrigues Power Member

    Coloca em comentario no codigo o k n sabes fazer
     
  10. nfp

    nfp

    No código 1 ñ consigo ir buscar ao submenu entradas os valores das variaveis para utilizar no calculo do saldo.

    Alem disso, tb ñ consigo fazer um controlo de erros correcto, ñ pode permitir introduzir como opção do menu nem algarismos q ñ sejam opção nem letras.

    Outra coisa que tb devia fazer era, se colocarmos a opção 1 no menu principal, vai pro submenu entradas e aí escolhemos salario. O programa pede qual o valor do salario a creditar mas dp devia aparecer outra vez o submenu entradas para o utilizador escolher o que quer fazer. Isso tb ñ tá a funcionar.

    No código 2, como está estruturado de forma diferente, há erros diferentes, mas o controlo de erros e o reaparecimento dos menus tb ñ funciona. Outra coisa que me tá a baralhar é como vou trabalhar com switchs encadeados... Penso q se calhar a melhor opção é, em vez de ter switch para os submenus entradas e saidas ter if...else encadeados.

    Experimentem correr os dois códigos e vêem logo o que tenho de corrigir.

    Abraço
     
  11. PJ

    PJ Power Member

    Pois no cálculo um não consegues ir buscar nada pois tem um return 0 que é o mesmo que estares a dizer que não queres retornar nada. Se queres retornar alguma variável para utilizar depois fazes return variável ficando esta em memória para posterior utilização.
     
  12. theforbidden1

    theforbidden1 Banido

    Ler a minha resposta anterior a este teu comentário, tem lá a solução :)
     
  13. nfp

    nfp

    Olá.

    Tentei criar as variáveis globais e msm assim ñ funcionou, mas posso ñ ter feito bem. Como pode ser feito?

    Com o array nunca trabalhei. Consegue explicar-me como é isso??

    Abraço
     
  14. MadOnion

    MadOnion Folding Member

    Código:
    public class Teste {
            private int nome;
            public Teste(int nome) {
                   this.nome = nome;
            }
    }
    
    Aquele private int nome;, é uma variável global, por outras palavras, um atibuto da classe(que só é conhecido dentro da classe Teste).
     
  15. nfp

    nfp

    Olá.

    Peço desculpa mas continuo sem perceber. Penso que a solução do array talvez seja a melhor.

    Mas também ñ sei como se faz.

    Abraço
     
  16. theforbidden1

    theforbidden1 Banido

    Tens de criar uma classe para conter as variáveis que queres partilhar entre as diferentes classes do teu programa.
    Depois instâncias essa classe (Montas 1 objecto com essa classe) e partilhas a instância entre as 2 classes que actualmente tens. Ou seja, para escreveres na papelada técnica, as 2 classes utilizam por composição a classe contentara.


    A classe array é uma classe criada para conter outras classes, portanto, caso os atributos das classe não sejam todos do mesmo tipo iras ter que utilizar vários arrays para partilhar a informação (os arrays multi dimensionais são 1 caso de 1 array de arrays). Portanto sugiro-te que crias a tua própria classe contentora.
    Os arrays também são geralmente designados por vectores e os arrays de arrays por matrizes (nota que os arrays são mais que isso)
     
  17. nfp

    nfp

    Dá pra mostrar como se faz o código, baseando-se no que já tenho escrito??

    Outra coisa que ainda não consegui pôr a funcionar foi o controlo de erros e fazer com que volte a mostrar os menus.

    Preciso msm de ajuda.

    Estou a dar em doido, já tenho os olhos em bico e as pestanas queimadas.

    Por isso toda a ajuda é pouca.

    Abraço
     
  18. nfp

    nfp

    Olá caros amigos.

    Cá estou de volta e continuo com problemas.

    Já tenho modificações no código, tentei colocar as variáveis globais mas continua a ñ funcionar.

    Preciso msm de ajuda pq o prazo aperta.

    Os problemas são:
    -> ñ consigo fazer o controlo de erros (todos os possíveis e imaginários)
    -> ñ consigo ir buscar os valores do total de entradas e do total de saidas para calcular o saldo
    -> dp de mostrar o saldo devia voltar a mostrar o menu principal, mas sem mostrar o nome dos autores.

    O novo código é:
    Código:
    package fase_1;
    
    import java.io.*;
    import java.text.DecimalFormat;
    
    public class ContaCorrente {
    
        /**
         * @param args
         */
        
        String ent_total_entradas;
        static double total_entradas;
        String ent_total_saidas;
        static double total_saidas;
        
        public static void main(String[] args) throws IOException{
            // TODO Auto-generated method stub
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    // DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O MENU PRINCIPAL
            String ent_opc;
            int opc = 0;    
            
            System.out.println("Projecto realizado por:");
            System.out.println("Autor 1 - nº XXXX");
            System.out.println("Autor 2 - nº XXXX");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU PRINCIPAL");
            System.out.println("");
            System.out.println("1 - Entradas");
            System.out.println("2 - Saídas");
            System.out.println("3 - Eliminar o último movimento");
            System.out.println("4 - Saldo corrente");
            System.out.println("5 - Movimentos efectuados");
            System.out.println("6 - Média de gastos");
            System.out.println("7 - Sair");
            System.out.print("Escolher o número que corresponde à opção desejada:");
            
            ent_opc = ler.readLine();
            opc = Integer.parseInt(ent_opc);
            
            if(opc != 1 && opc != 2 && opc != 3 && opc != 4 && opc != 5 && opc != 6 && opc != 7){
                System.out.println("");
                System.out.println("");
                System.out.println("Opcão inválida");
                System.out.print("Escolher o número que corresponde à opção desejada:");
                
                ent_opc = ler.readLine();
                opc = Integer.parseInt(ent_opc);
            }
            
            switch (opc){
            case 1:menu_entradas();
                   break;
            case 2:menu_saidas();
                      break;
            case 3:break;
            case 4:menu_saldo();
                   break;
            case 5:break;
            case 6:menu_media_gastos();
                         break;
            case 7:System.out.println("");
                   System.out.println("");
                   System.out.print("Obrigado por ter escolhido este programa.");
                   System.out.println("Volte sempre!");
                   break;
            }
    
        }
        
        private static void menu_entradas() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O SUBMENU ENTRADAS
            String ent_salario;
            double salario = 0;
            String ent_juro;
            double juro = 0;
            String ent_outros;
            double outros = 0;
            String ent_opc_entradas;
            int opc_entradas;
        //    String ent_total_entradas;
        //    double total_entradas;
            
            do{
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU ENTRADAS");
            System.out.println("1 - Salário");
            System.out.println("2 - Juros");
            System.out.println("3 - Outros");
            System.out.println("4 - Voltar ao menu principal");
            System.out.print("Introduza a opção desejada:");
                    
            ent_opc_entradas = ler.readLine();
            opc_entradas = Integer.parseInt(ent_opc_entradas);        
            }while(opc_entradas < 0 && opc_entradas > 5);
            
            
            switch(opc_entradas){
            case 1:System.out.println("");
                   System.out.print("Introduza o salário a creditar:");
                   ent_salario = ler.readLine();
                   salario = Double.parseDouble(ent_salario);
                   menu_entradas();
                   break;
            case 2:System.out.println("");
                   System.out.print("Introduza o valor do juro:");
                   ent_juro = ler.readLine();
                   juro = Double.parseDouble(ent_juro);
                   menu_entradas();
                   break;
            case 3:System.out.println("");
                   System.out.print("Introduza outro valor a creditar:");
                   ent_outros = ler.readLine();
                   outros = Double.parseDouble(ent_outros);
                   menu_entradas();
                   break;
            case 4:main(null);
                   break;
            }
            
            
            total_entradas = salario + juro + outros;
            
        //    return total_entradas;
            
        }
        
        private static void menu_saidas() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
    
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O SUBMENU SAÍDAS
            String ent_casa;
            double casa = 0;
            String ent_carro_seg;
            double carro_seg = 0;
            String ent_energia_tel;
            double energia_tel = 0;
            String ent_alimentacao;
            double alimentacao = 0;
            String ent_vestuario;
            double vestuario = 0;
            String ent_educacao;
            double educacao = 0;
            String ent_outros;
            double outros = 0;
            String ent_opc_saidas;
            int opc_saidas;
        //    String ent_total_saidas;
        //    double total_saidas;
            
            
            
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU SAÍDAS");
               System.out.println("1 - Casa");
               System.out.println("2 - Carro / Seguros");
               System.out.println("3 - Energia / Telecomunicações");
               System.out.println("4 - Alimentação");
               System.out.println("5 - Vestuário");
               System.out.println("6 - Educação");
               System.out.println("7 - Outros");
               System.out.println("8 - Voltar ao menu principal");
               System.out.print("Introduza a opção desejada:");
               
               ent_opc_saidas = ler.readLine();
            opc_saidas = Integer.parseInt(ent_opc_saidas);
            
            switch(opc_saidas){
            case 1:System.out.println("");
                   System.out.print("Introduza o valor gasto na casa:");
                   ent_casa = ler.readLine();
                   casa = Double.parseDouble(ent_casa);
                   menu_saidas();
                   break;
            case 2:System.out.println("");
                   System.out.println("Introduza o valor gasto no carro/seguro:");
                   ent_carro_seg = ler.readLine();
                   carro_seg = Double.parseDouble(ent_carro_seg);
                   menu_saidas();
                   break;
            case 3:System.out.println("");
                   System.out.print("Introduza o valor gasto em energia/telecomunicações:");
                   ent_energia_tel = ler.readLine();
                   energia_tel = Double.parseDouble(ent_energia_tel);
                   menu_saidas();
                   break;
            case 4:System.out.println("");
                   System.out.print("Introduza o valor gasto na alimentação:");
                   ent_alimentacao = ler.readLine();
                   alimentacao = Double.parseDouble(ent_alimentacao);
                   menu_saidas();
                   break;
            case 5:System.out.println("");
                   System.out.print("Introduza o valor gasto em vestuário:");
                   ent_vestuario = ler.readLine();
                   vestuario = Double.parseDouble(ent_vestuario);
                   menu_saidas();
                   break;
            case 6:System.out.println("");
                   System.out.print("Introduza o valor gasto em educação:");
                   ent_educacao = ler.readLine();
                   educacao = Double.parseDouble(ent_educacao);
                   menu_saidas();
                   break;
            case 7:System.out.println("");
                   System.out.print("Introduza outros gastos:");
                   ent_outros = ler.readLine();
                   outros = Double.parseDouble(ent_outros);
                   menu_saidas();
                   break;
            case 8:main(null);
                   break;
            }
            
            total_saidas = casa + carro_seg + energia_tel + alimentacao + vestuario + educacao + outros;
    //        System.out.print("TOTAL DE SAIDAS = "+total_saidas);
            
        //    return total_saidas;
            
        }
        
        private static double menu_saldo() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
    //         DECLARAÇÃO DE VARIAVEIS LOCAIS PARA O SUBMENU SALDO
            double saldo = 0;
            
            saldo = total_entradas - total_saidas;
            
            System.out.println("");
            System.out.println("Saldo da conta corrente: "+saldo+" €");
                    
            return saldo;        
            
        }
    
        private static int menu_media_gastos() throws IOException{
            
            BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
            
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("");
            System.out.println("                              TESOURARIA DE CONTA CORRENTE FAMILIAR");
            System.out.println("                                          MENU MÉDIA GASTOS");
               System.out.println("1 - Semanais");
               System.out.println("2 - Mensais");
               System.out.println("3 - Voltar ao menu principal");
            
               return 0;
            
        }
    
    }
    
    /* Falta fazer todo o controlo de erros possíveis e imaginários, o menu Saldo ñ tá a ir buscar o 
     * valor das variáveis para fazer o cálculo e dp de mostrar o saldo devia voltar a mostrar o menu 
     * principal para o utilizador continuar a introduzir opções. Outra coisa é que qd volta a aparecer
     * o menu principal, ñ deviam aparecer os nomes dos autores.
     * NOTA --> Ñ PODE SER FEITO COM VECTORES.
     */
    Agradecia que as ajudas fossem o mais breves e explícitas possível.

    Abraço
     
  19. reise

    reise Power Member

    Só vi agora este tópico e tenho algumas perguntar para te fazer.
    Isto é para fazer em linguagem Java ou é para fazer em linguagem orientada a objectos usando o Java? É que parece que não tens noção do que é objectos, instancias e coisas afins.


    Já experimentaste fazer uma classe para cada tipo de entrada?
    Usar try { ..} catch () para os erros?
    Ler um bocadinho sobre Java para iniciados?
     
  20. nfp

    nfp

    Olá.

    O programa é para fazer em POO com o JAVA.

    Uma classe para cada tipo de entrada como?

    Eu já tive a ler mas ñ consegui perceber bem o funcionamento do try { ... } catch(). Se me puderes explicar agradecia. Já vi muitos exemplos mas ñ consegui adaptar ao meu código.

    Acho que, em vez de tares a criticar, podias ajudar, ninguém nasce ensinado.

    Além disso há coisas que ainda ñ se podem fazer nesta fase do projecto.

    Abraço
     

Partilhar esta Página