View Full Version : Ajuda em JAVA


nfp
10-11-2007, 16:28
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

wavee
10-11-2007, 16:59
Seminários ? Ispgaya?:p
Também tenho de fazer isso mas ainda não comecei...

guilherme
10-11-2007, 19:07
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

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

nfp
10-11-2007, 20:29
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

MadOnion
10-11-2007, 22:13
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.

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


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??


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:

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:

//@requires 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:

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

theforbidden1
10-11-2007, 22:45
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

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...

nfp
10-11-2007, 22:49
Agradeço a ajuda, mas não foi muito claro.

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

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 é:

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

AliFromCairo
11-11-2007, 00:29
Podias ser mais específico em relação aos problemas que estás a ter com o código que colocaste acima.

rj123
11-11-2007, 02:18
Coloca em comentario no codigo o k n sabes fazer

nfp
11-11-2007, 11:12
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

Paulo Jorge
11-11-2007, 11:30
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.

theforbidden1
11-11-2007, 17:40
Agradeço a ajuda, mas não foi muito claro.

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

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("Bruno Jesus - nº 7192");
System.out.println("Nuno Pina - nº 6673");
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 é:

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("Bruno Jesus - nº 7192");
System.out.println("Nuno Pina - nº 6673");
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

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

nfp
11-11-2007, 18:48
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

MadOnion
11-11-2007, 21:27
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


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).

nfp
11-11-2007, 22:03
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

theforbidden1
11-11-2007, 22:42
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

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)

nfp
11-11-2007, 22:53
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

nfp
12-11-2007, 11:51
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 é:

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

reise
12-11-2007, 14:21
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?

nfp
12-11-2007, 15:54
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

reise
12-11-2007, 16:26
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

Como até gosto muito de Java :x2: arranjei-te um bocadinho o código. Ainda não está bom, mas já tens algumas classes, o código já está mais limpo, já tem algum controlo de excepções, etc.
A partir daqui já consegues fazer alguma coisa melhor. Aconselho-te vivamente a ler um tutorial de Java (http://java.sun.com/docs/books/tutorial/) e POO.

Ficheiro zip com as classes (http://rapidshare.com/files/69221898/fase_1.zip.html)

Qualquer dúvida, manda que é bom voltar a escrever nesta linguagem!

nfp
12-11-2007, 16:59
Boas.

Já dei uma vista de olhos nas classe q mandaste e agradeço bastante.

Mas tou com uma dúvida. O professor quer o código seguido, posso juntar as várias classes num só ficheiro de Java?

Abraço

MadOnion
12-11-2007, 19:42
Boas.

Já dei uma vista de olhos nas classe q mandaste e agradeço bastante.

Mas tou com uma dúvida. O professor quer o código seguido, posso juntar as várias classes num só ficheiro de Java?

Abraço

Podes, mas não é aconselhável.
Em OOP, existem vários conceitos, desde a herança, ao polimorfismo, static classes, nested classes, herança multipla etc.
Aconselha-se a tratar uma classe como uma entidade ou um tipo não ambiguo, isto é, podes ter uma classe Animal e representar lá dentro um Cao e um Gato, mas se tiveres uma classe Animal como SuperClasse e as classes Cao e Gato como classes que herdam propriedades da classe Animal, é bastante mais intuitivo e mais correcto, e segue a "tradição" das programação orientada a objectos.
Provavelmente são conceitos que são do outro mundo, mas no mundo do Java há muita coisa que convém ser seguida à letra.
Contudo, ninguém te impede de fazer um programa tudo numa só classe!

MadOnion
12-11-2007, 19:56
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 é:

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


Optei por recorrer a dois posts, porque são conceitos diferentes.
Tens o teu código muito confuso, muita mistura de conceitos, muita bagunça.
Os teus atributos, ent_total_entradas e ent_total_saidas, que devem ser privados:

private String ent_total_entradas;
private static double total_entradas;
private String ent_total_saidas;
private static double total_saidas;


Não estão a ser inicializados em lado algum do teu código, por isso é normal que não os consigas usar.
Algures no teu código esses atributos têm que receber algum valor, para poderes usar noutras funções, por isso é normal que não consigas reutilizar as variáveis.
Re-vê o teu código novamente, e se possível antes de passares para o código, tenta fazer esboços em papel, e vais ver que vai reduzir em metade, pelo menos, o teu código.
Dispõe :)

reise
12-11-2007, 23:30
Boas.

Já dei uma vista de olhos nas classe q mandaste e agradeço bastante.

Mas tou com uma dúvida. O professor quer o código seguido, posso juntar as várias classes num só ficheiro de Java?

Abraço


Não aconselho juntares o código, pois assim não estás a usar poo nem as funcionalidades de Java que deverias. E se o prof te mandou fazer assim que vá aprender a linguagem e os conceitos antes de tentar ensinar Java.

nfp
13-11-2007, 15:02
Olá.

MadOnion, dizes que os atributos ent_total_entradas e ent_total_saidas precisam de ser inicializados. São precisos para calcular o valor do saldo (saldo = ent_total_entradas - ent_total_saidas), podias explicar no código e com código como posso fazer isso?

Abraço

reise
13-11-2007, 15:29
Desculpa lá estar a ser chato, mas pode-se saber em que curso/ano andas?
Já alguma vez tiveste programação?