View Full Version : JAVA - Ajuda tou a dar em doido.
Boas estou a fazer um projecto em java para um trabalheco de escola...(sim aos 25 anos decidi aprender a programar... mal mas pronto... isto vai com calma...)
Trata-se de um programa que simula a gestao de uma conta bancaria, mas não consigo efectuar as operações de consulta de movimentos... nem introduzir a apresentação de data de sistema em cada operação... aqui fica a parte do codigo que já desunhei e mais algumas variaveis...
Um abraço e obrigado desde já se for possivel alguma ajuda... isto de ser noob ninguem nasce ensinado... há que marrar e procurar a ajuda de quem sabe mais...
class Gestao {
static double saldo;
static String[] guarda;
//Metodo main parte principal do programa.
public static void main (String args[]){
//Variaveis
int opcao,i=0;
double saldoCr,saldoDb,limite=0;
saldo=0;
guarda=new String[10];
System.out.println("GESTAO CONTA BANCARIA"); //menu da conta bancaria
System.out.println("M:.E:.N:.U:.");
do{ //mostra as opções
System.out.println("1 - Credito.");
System.out.println("2 - Debito.");
System.out.println("3 - Limite a Descoberto.");
System.out.println("4 - Elimina o ultimo movimento.");
System.out.println("5 - Consulta Valor Saldo.");
System.out.println("6 - Consulta de movimentos.");
System.out.println("7 - Sair.");
System.out.print("Escolha uma opcao: ");
opcao=Le.umInt();
//switch para escolha das opções
switch(opcao){
case 1: //case 1 para efectuar um crédito
System.out.print("Introduza o montante a Creditar: "); //introdução de valores
saldoCr=Le.umDouble(); //leitura de valores
saldo=saldo+saldoCr; //Valor do saldo + actualização do valor por soma de montante
guarda[i]="C"+saldoCr; //Guarda Valor introduzido
i++; //operador incrementado
;break; //Pausa na execução para nova ordem
case 2: //Case 2 para efectuar um débito
System.out.print("Introduza o montante a Debitar: "); //introdução de valores
saldoDb=Le.umDouble(); //leitura de valores
if(saldo-saldoDb<-limite){ //condição para que se Debito maior que saldo dar info de valor a descoberto
System.out.println("Limite A Descoberto Ultrapassado"); //mensagem de valor a descoberto
}else{ //codição para executar debito caso valor de debito menor que saldo
saldo=saldo-saldoDb; //Operação de débito
guarda[i]="d"+saldoDb; //actulização do saldo
i++; //operador incrementado
}
;break; //Pausa na execução para nova ordem
case 3: //case 3 para mostrar limite a descoberto
System.out.print("Limite a descoberto: ");
limite=Le.umDouble();
;break;
case 4:
String aux=guarda[i-1]; //Consulta o ultimo movimento efectuado indo buscar o mesmo a uma string
if(aux.charAt(0)=='d'){ //retira o movimento e faz a operacao.
saldo=saldo+Double.parseDouble(aux.substring(1, aux.length()));
guarda[i-1]=null;
}else{
saldo=saldo-Double.parseDouble(aux.substring(1, aux.length()));
guarda[i-1]=null;
}
;break; //Pausa na execução para nova ordem
case 5: //Case 5 para apresentar o valor de saldo
System.out.println("O saldo e de: "+saldo); //consulta o valor do saldo guardado
;break; //Pausa na execução para nova ordem
case 6:
;break;
case 7:System.exit(0); //Case para terminar o programa
break;//Pausa na execução para nova ordem
default:System.out.println("ESCOLHA A OPCAO CORRECTA!!"); //mensagem se opcao incorrecta
}while(opcao!=0); //intrução para terminar o programa.
}
}
Aqui tenho o formatador da DATA ja "desenhado" agora para integrar no código acima é que tenho estado com algumas situações estranhas com erros atrofiantes a compilar em JAVAC ... isto a minha cabecinha já :004: :004:
SimpleDateFormat formatador;
Date data;
formatador = new SimpleDateFormat ("dd/MM/yyyy"); // Cria formatador de data
data = new Date (); // Obtém data e
formatador.format (data); // formata-a
Outra coisa não faço ideia depois de ler de como posso apresentar os detalhes das operações efectuadas... ai ai...:'( :'(
Siga lá javardar mais um bocadito se for tendo duvidas vou postando por agora são estas e nao é pouco...:x2: :x2:
GloriosoSLB 10-01-2007, 13:35 Primeiro de tudo, porque nao crias métodos para as opções do menu?
É que isso tudo assim ao monte fica confuso. Crias os vários métodos, para as várias opções do menu, e assim fica tudo dividido...
Primeiro de tudo, porque nao crias métodos para as opções do menu?
É que isso tudo assim ao monte fica confuso. Crias os vários métodos, para as várias opções do menu, e assim fica tudo dividido...
É uma hipotese ;-)
mas queria passar so para os metodos depois de organizar isto...
MadOnion 10-01-2007, 14:55 Quantas classes estás a usar?
Dava jeito uma classe que representa uma Conta, e outra que representa um Utilizador, mesmo que o teu projecto seja apenas para um Cliente e não para um conjunto de clientes.
Essa classe então Gestão, devia tratar-se de um banco.
Para a consulta de movimentos, podes por exemplo guardar numa ArrayList(lista sem limite) de Strings(para guardares o montante, data do movimento, nome, isto se obedecer aos parametros do teu projecto), todas as operações que vais fazendo ao longo do programa. Se for feito um credito, ou debito, ou mesmo eliminação do ultimo movimento(undo() method por exemplo).
No case7 nao deves ter System.exit(int arg), nao é nada elegante. No while coloca antes while(opcao != 0 || opcao == 7);
Tem cuidado também com os atributos estaticos, por serem estáticos, e por não serem nem publicos ou privados ou protected ou whatever.
Como ja foi dito, devias, para cada opção ter um metodo, inclusivé para ler um double(montante).
Espero ter ajudado em algo,
Cumps
Quantas classes estás a usar?
Dava jeito uma classe que representa uma Conta, e outra que representa um Utilizador, mesmo que o teu projecto seja apenas para um Cliente e não para um conjunto de clientes.
Essa classe então Gestão, devia tratar-se de um banco.
Para a consulta de movimentos, podes por exemplo guardar numa ArrayList(lista sem limite) de Strings(para guardares o montante, data do movimento, nome, isto se obedecer aos parametros do teu projecto), todas as operações que vais fazendo ao longo do programa. Se for feito um credito, ou debito, ou mesmo eliminação do ultimo movimento(undo() method por exemplo).
No case7 nao deves ter System.exit(int arg), nao é nada elegante. No while coloca antes while(opcao != 0 || opcao == 7);
Tem cuidado também com os atributos estaticos, por serem estáticos, e por não serem nem publicos ou privados ou protected ou whatever.
Como ja foi dito, devias, para cada opção ter um metodo, inclusivé para ler um double(montante).
Espero ter ajudado em algo,
Cumps
Claro que ajuda e muito... neste momentos o preciso mesmo de que seja orientado a um utilizador e a um banco pelo que não existe necessidade de fazer muito mais, mais a frente poderei integrar varios utilizadores e bancos..
Neste momento fiz mais um bocadinho e ja da para compilar e ja corre quase tudo...
class GestaoContas {
static double saldo;
static String[] guarda;
//Metodo main parte principal do programa.
public static void main (String args[]){
//Variaveis
//int op=0;
int opcao,i=0;
double saldoCr=0,saldoDb=0,limite=0;
saldo=0;
guarda=new String[10];
//SimpleDateFormat formatador;
//Date data;
//formatador = new SimpleDateFormat ("dd/MM/yyyy"); // Cria formatador de data
//data = new Date (); // Obtém data e
//formatador.format (data); // formata-a
System.out.println("G:.E:.S:.T:.A:.O:. C:.O:.N:.T:.A:. B:.A:.N:.C:.A:.R:.I:.A:."); //menu da conta bancaria
System.out.println(" M:.E:.N:.U:.");
do{ //mostra as opções
System.out.println ();
System.out.println ();
System.out.println("1 - Credito.");
System.out.println("2 - Debito.");
System.out.println("3 - Limite a Descoberto.");
System.out.println("4 - Elimina o ultimo movimento.");
System.out.println("5 - Consulta Valor Saldo.");
System.out.println("6 - Consulta de movimentos.");
System.out.println("0 - Sair.");
System.out.println ();
System.out.println ();
System.out.print("Escolha uma opcao: ");
opcao=Le.umInt();
//}while (op < 0 || op > 6); //função do while para limitar /compreender as opções do menu
//switch para escolha das opções
switch(opcao){
case 1: { //case 1 para efectuar um crédito
System.out.print("Introduza o montante a Creditar: "); //introdução de valores
saldoCr=Le.umDouble(); //leitura de valores
saldo=saldo+saldoCr; //Valor do saldo + actualização do valor por soma de montante
guarda[i]="C"+saldoCr; //Guarda Valor introduzido
i++;} //operador incrementado
;break; //Pausa na execução para nova ordem
case 2: //Case 2 para efectuar um débito
System.out.print("Introduza o montante a Debitar: "); //introdução de valores
saldoDb=Le.umDouble(); //leitura de valores
if(saldo-saldoDb<-limite){ //condição para que se Debito maior que saldo dar info de valor a descoberto
System.out.println("Limite A Descoberto Ultrapassado"); //mensagem de valor a descoberto
}else{ //codição para executar debito caso valor de debito menor que saldo
saldo=saldo-saldoDb; //Operação de débito
guarda[i]="d"+saldoDb; //actulização do saldo
i++; //operador incrementado
}
;break; //Pausa na execução para nova ordem
case 3: //case 3 para mostrar limite a descoberto
System.out.print("Limite a descoberto: ");
limite=Le.umDouble();
;break;
case 4:
String aux=guarda[i-1]; //Consulta o ultimo movimento efectuado indo buscar o mesmo a uma string
if(aux.charAt(0)=='d'){ //retira o movimento e faz a operacao.
saldo=saldo+Double.parseDouble(aux.substring(1, aux.length()));
guarda[i-1]=null;
}else{
saldo=saldo-Double.parseDouble(aux.substring(1, aux.length()));
guarda[i-1]=null;
}
;break; //Pausa na execução para nova ordem
case 5: //Case 5 para apresentar o valor de saldo
System.out.println("O saldo e de: "+saldo); //consulta o valor do saldo guardado
;break; //Pausa na execução para nova ordem
case 6:
;break;
case 7:System.exit(0); //Case para terminar o programa
break;//Pausa na execução para nova ordem
default:System.out.println("ESCOLHA A OPCAO CORRECTA!!"); //mensagem se opcao incorrecta
}
}while(opcao!=0); //intrução para terminar o programa.
}
}
em programacao por objectos tudo e um objecto!! apreendi isto da pior maneira mas apreendi! o melhor que tens a fazer era mesmo fazeres uma classe pra cada coisa que precisa de tal e depois organizares isso em metodos.
Se quiseres ir ainda mais a frente podes olhar para padroes de desenho, em especial para o padrao de desenho command que e capaz de ajudar nessa situacao.
Outra coisa, nao faças isto:
System.out.println ();
faz antes assim :
System.out.println ("\n"+"escrevo a opcao ou o que quiser!");
System.out.println ();
faz antes assim :
System.out.println ("\n"+"escrevo a opcao ou o que quiser!");
Não percebi qual a ideia.
Já agora, não precisas de separar a string do "\n" do resto, pode ficar tudo dentro de uma só string, por exemplo, "\n xpto blabla\n\n\n\n"
abraços, HecKel
em programacao por objectos tudo e um objecto!! apreendi isto da pior maneira mas apreendi! o melhor que tens a fazer era mesmo fazeres uma classe pra cada coisa que precisa de tal e depois organizares isso em metodos.
Se quiseres ir ainda mais a frente podes olhar para padroes de desenho, em especial para o padrao de desenho command que e capaz de ajudar nessa situacao.
Outra coisa, nao faças isto:
System.out.println ();
faz antes assim :
System.out.println ("\n"+"escrevo a opcao ou o que quiser!");
Sinceramente Tb não percebi o porque dessa ideia...
Todo o caso, eu apenas tenho 2 meses de Java, e cerca de 20Horas de aulas disto...
Acho que já não está nada mau para tão pouco tempo... tendo em conta que todo o código foi feito à mão com noçoes que vou aprendendo...
Mas estou a gostar, tirando a parte que muito sinceramente isto me dá cabo dos miolos, mas desporto cerebral é bom :004: :x2:
Quanto aos metodos, estava a pensar depois mais tarde em separar isto por classes e talves usar 1 ou 2 vectores para armazenar os dados...
Mas por agora o trabalho já está feito e entregue de qualquer forma não deixo morrer o tópico pois quero aprender mais qq coisa com o pessoal que domina isto.
MadOnion 11-01-2007, 00:21 Sinceramente Tb não percebi o porque dessa ideia...
Todo o caso, eu apenas tenho 2 meses de Java, e cerca de 20Horas de aulas disto...
Acho que já não está nada mau para tão pouco tempo... tendo em conta que todo o código foi feito à mão com noçoes que vou aprendendo...
Mas estou a gostar, tirando a parte que muito sinceramente isto me dá cabo dos miolos, mas desporto cerebral é bom :004: :x2:
Quanto aos metodos, estava a pensar depois mais tarde em separar isto por classes e talves usar 1 ou 2 vectores para armazenar os dados...
Mas por agora o trabalho já está feito e entregue de qualquer forma não deixo morrer o tópico pois quero aprender mais qq coisa com o pessoal que domina isto.
Boas.
Como eu já disse, deves ter uma classe Conta em que recebe por exemplo a data de criacao e um Utilizador. E uma classe Utilizador que recebe um nome, idade, morada e b.i.
Na classe Gestor de Contas ou seja Banco, deves ter um vector de contas e um vector de utilizadores. Facilita-te muito as coisas, e o código fica muito mais bonito, e respeita a essência do java, programação orientada por objectos.
Eu faria o seguinte:
Classe Account
Classe User
Classe Bank
Classe RunBank-> aqui está o main() por exemplo:
public class RunBank {
public static void main(String[] args) {
new Bank().run();
}
}
Assumindo que o Bank não tem nada no constructor.
Vai dando notícias que eu estou de olho no tópico :)
Edit: Já agora concatenar strings é das operações mais caras do java, é preferivel ter SOP("\nxpto"); que SOP("\n" + "xpto");
Cá está ele :-P
Custou mas foi...
import java.util.Date;
import java.util.Vector;
public class GestaoContas {
float saldo = 0;
float descoberto = 0;
public static void main(String[] args) {
GestaoContas gestao_contas = new GestaoContas(); // chama o gestor de contas (GestaoContas)
}
void credita(Float valor) {
saldo = saldo + valor;
}
void debita(Float valor) {
saldo = saldo - valor;
}
void descoberto(Float valor) {
descoberto = valor;
}
public GestaoContas(){
Vector ve_guarda_opera = new Vector(); // cria um objecto do tipo Vector
int cont_mov = 1; // inicia o contador de numero de movimentos
// para sempre
while (true){
// imprime o menu
GestaoContas.Menu();
// le a opcao
int opcao = Le.umInt();
if (opcao< 0||opcao>7)
System.out.println("!!! Por Favor Introduza uma das Opções do Menu(0-7) !!!");
if(opcao == 0){System.out.println("Acabou de Sair do Programa GESTÃO DE CONTA BANCÁRIA");// a opcao zero sai do programa
break;}
Float valor;
Operacao opera_escolhida = null;
// agora vai pegar na opcao escolhida
switch(opcao){
case Operacao.CREDITO: // se foi escolhido fazer um credito
do{
System.out.println("Insira o Valor a Creditar:");
valor = Le.umFloat();
if (valor <0|| valor ==0)
System.out.println("Por Favor Credite um valor Positivo!");
} while (valor <0|| valor ==0);
if (valor >0)
System.out.println("Operação Efectuada!");
opera_escolhida = new Operacao(opcao,valor);
opera_escolhida.num_mov = cont_mov;
cont_mov++;// incrementa o contador de numero de movimentos
ve_guarda_opera.add(opera_escolhida);// guarda a opçao no vector da operação escolhida
credita(valor);
break;
case Operacao.DEBITO:// se foi escolhido fazer um debito
do{
System.out.println("Insira o Valor a Debitar:");
valor = Le.umFloat();
if (valor <0|| valor ==0){
System.out.println("Por favor Introduza um Valor Positivo!");}
if(valor > (saldo + descoberto)){
System.out.println("O seu Saldo não permite Efectuar essa Operação!!");}
} while (valor <0||valor==0||valor > (saldo + descoberto));
if (valor >0){
System.out.println("Operação Efectuada!");}
if(valor > (saldo + descoberto)){
System.out.println("O seu Saldo não permite Efectuar essa Operação!!");}
opera_escolhida = new Operacao(opcao,valor);
opera_escolhida.num_mov = cont_mov;
cont_mov++;// incrementa o contador de numero de movimentos
ve_guarda_opera.add(opera_escolhida);// guarda a opcão no vector da operação escolhida
debita(valor);
break;
case Operacao.LIMITE_A_DESCOBERTO: // se foi escolhido fazer um limite a descoberto
do{
System.out.println("Insira o valor do Limite a descoberto:");
valor = Le.umFloat();
if (valor <0)
System.out.println("Por Favor Introduza um Valor Positivo ou nulo!");
} while (valor <0);
if (valor >0)
System.out.println("Operação Efectuada!");
opera_escolhida = new Operacao(opcao,valor);
opera_escolhida.num_mov = cont_mov;
cont_mov++;// incrementa o contador de numero de movimentos
ve_guarda_opera.add(opera_escolhida);// guarda a opcão no vector da operação escolhida
descoberto(valor);
break;
case Operacao.CONSULTA_LIMITE:
System.out.println("O Valor do Limite a Descoberto é: "+ descoberto+"€");
break;
case Operacao.CONSULTA_MOVIMENTOS: // se foi pedido para fazer uma consulta de movimentos
System.out.println("Consulta de Movimentos a "+new Date());
System.out.println("\nNºMov Data \t Hora\tTipo\tValor ");
for(int i = 0; i < ve_guarda_opera.size(); i++){
opera_escolhida = (Operacao)ve_guarda_opera.elementAt(i);
if(
opera_escolhida.tipo == Operacao.CREDITO
||
opera_escolhida.tipo == Operacao.DEBITO
){
opera_escolhida.Imprime();
}
}
System.out.println("\nSaldo:\t"+saldo+ " €");
break;
case Operacao.CONSULTA_SALDOS: // se foi pedido para fazer uma consulta de saldos
System.out.println("Saldo a "+ new Date());
System.out.println("\nSaldo:€ " +saldo);
break;
case Operacao.ELIMINA_ULTIMO_MOVIMENTO:
Operacao ult_elem_ve = (Operacao) ve_guarda_opera.lastElement();
ve_guarda_opera.remove(ult_elem_ve);// apaga o ultimo elemento do vector
descoberto = 0;// inicializa todos os movimentos
saldo = 0;
System.out.println("Operação Efectuada!");
//contador_de_numero_de_movimentos --;
/*
Agora vai executar todas as accoes feitas desde o inicio do programa excepto a ultima (que foi apagada)
*/
for(int i = 0; i < ve_guarda_opera.size(); i++){
opera_escolhida = (Operacao)ve_guarda_opera.elementAt(i);
switch(opera_escolhida.tipo){
case Operacao.CREDITO:
credita(opera_escolhida.valor);
break;
case Operacao.DEBITO:
debita(opera_escolhida.valor);
break;
case Operacao.LIMITE_A_DESCOBERTO:
descoberto(opera_escolhida.valor);
break;
}
}
break;
}
}
}
public static void Menu() {
System.out.println("");
System.out.println("GESTÃO DE CONTA BANCÁRIA:");
System.out.println("");
System.out.println(" MENU");
System.out.println("");
System.out.println("1 - Crédito");
System.out.println("2 - Débito");
System.out.println("3 - Defenir o Limite a Descoberto");
System.out.println("4 - Elimina o Último Movimento");
System.out.println("5 - Consulta o Saldo");
System.out.println("6 - Consulta de Movimentos");
System.out.println("7 - Consultar o Valor do Limite a Descoberto");
System.out.println("0 - Sair\n");
System.out.println("Escolha o Número que corresponde à Opção Desejada:");
}
}
import java.text.SimpleDateFormat;
import java.util.Date;
public class Operacao {
static final int CREDITO = 1;// a opcao "static final" permite a utilizacao do nome nos "switch"
static final int DEBITO = 2;
static final int LIMITE_A_DESCOBERTO = 3;
static final int ELIMINA_ULTIMO_MOVIMENTO = 4;
static final int CONSULTA_SALDOS = 5;
static final int CONSULTA_MOVIMENTOS = 6;
static final int CONSULTA_LIMITE = 7;
int tipo; // tipo da operação
float valor; // valor da operação, utilizado apenas nos credito, debito e limite
Date data; // altura em que foi feita a operação
int num_mov; // numero de movimento
// construtor
public Operacao(int itipo, float ivalor){
tipo = itipo;
valor = ivalor;
data = new Date();
}
/*
imprime no ecrã na forma pedida
Exemplo:
1 30/46/2006 18:46 C 2132.0
2 30/46/2006 18:46 C 21.0
3 30/46/2006 18:46 C 212.0
4 30/46/2006 18:46 D 32.0
*/
void Imprime(){
SimpleDateFormat dataform;
dataform = new SimpleDateFormat("dd/mm/yyyy HH:mm");// cria um objecto da classe SimpleDateFormat
String str = dataform.format(data);
String p = "";
switch (tipo){
case CREDITO:
p = " C";
break;
case DEBITO:
p = " D";
break;
}
//imprime a accao da forma que foi pedida no enunciado
System.out.println( num_mov + " "+str + " "+ p + " " + valor);
}
}
bem vou dormir ja deito JAVA por todo o lado...
Isto foi sempre a bombar...
FOOOGGGEEEE... nunca pensei nesta idade ainda andar com isto... tou a ficar velhote...
MadOnion 12-01-2007, 14:30 Boas x4nick8r, existem alguns reparos que gostaria de fazer.
Indo desde o inicio do programa até ao fim:
float saldo = 0; Convém que seja 0.0, e se alguma vez fizeres, o que acho que não acontece no programa, saldo + 2.0, o resultado é um double e não um float, para forçar o resultado para float teria que ser, saldo + 2.0F, fica a dica :)
O problema das variáveis static, se por alguma razão criares dois objectos do tipo Operacao, se fizeres uma operação(metodo), num dos objectos, o outro vai sofrer a mesma operação, e isso não é nada bom, em detrimento declara-os apenas private ou public ou protected ou ainda nada, depende do contexto.
Como eu ja tinha dito anteriormente, cria uma classe por exemplo RunGestaoContas() com o código que deixei num post anterior, em que na classe GestaoContas() deves ter um metodo run() ou outro parecido com o arranque do teu problema.
O teu programa começa por:
public static void main(String[] args) {
GestaoContas gestao_contas = new GestaoContas(); // chama o gestor de contas (GestaoContas)
}
És obrigado a criar este objecto, para não teres todos os teus metodos da classe static, pelo que seguindo a minha teoria, este pedaço de código é lixo.
Tem atenção à identação, se estiveres a usar o eclipse, faz CTRL-A, CTRL-I.
Não conheço o conjunto Le.umInt() e Le.umFloat(), foi uma classe programada por ti?
Se não tivesses criado aquele objecto no main(), neste pedaço de código basta chamar em vez de GestaoContas.Menu(), apenas Menu().
while (true){
// imprime o menu
GestaoContas.Menu();
Já agora os metodos começam todos por letra pequena, os boolean deve começar por verbos e normalmente uma pergunta, por exemplo, isEmpty();
As constantes devem ser com letra grande, por exemplo, final in CONVERSAO_EURO = 200.482;
E se tens um metodo ou variavel com mais de uma palavra, deve ser escrito por exemplo: public int returnAdress(), em que as restantes palavras começam com letra Grande, excepto a primeira.
Quando estás a fazer Float qualquerCoisa, não estás a criar uma variável do tipo float, pois float é um tipo primitivo(vem do C) e deve ser escrito com letra pequena. Float qualquerCoisa, é uma variável(neste caso uma referência) do tipo Float que não está a apontar para nada. Por exemplo:
Float valor;
Operacao opera_escolhida = null;
São as mesma coisa, só que de tipos diferentes.
Isto tudo que eu disse, são Questões de Estilo do Java.
Tirando uma coisa ou outra, e o código parece-me um bocado confuso, acho que está tudo.
Falta a pergunta final, o programa funciona em pleno? Antes de entregar é bom verificar se está tudo perfeito.
Cada programador, é como cada qual, ninguém pensa da mesma maneira, mas com entre-ajuda, as coisas ficam mais facil, pessoalmente não entregaria o código assim, não desprezando de forma alguma todo o trabalho que tiveste.
Cumps e fica bem:wah:
Sim o trabalho ja foi entregue, tudo funcionava dentro do que foi pedido, com alguma protecção para erros. So comentei melhor o que fiz no NOTEPAD ++ que dá um geitão para adicionar uns comentarios...
A class le.class foi entregue pelo tutor do projecto para nos servirmos dela para fazer isto...
Fui dos poucos que fez isto a correr de tras pra frente e da frente para tras... com tao poucas horas de java e mesmo dificil.
Se calhar o proximo passo com o intuito de aprender mais qualquer coisa, talvez criar um interface grafico com o Joptionpane... mas agora preciso de descansar a cabeça uns dias...
sinceramente agora percebo o que sofre um programador... quase não deve ter vida propria...
Muito obrigado por todas as ideias que me tens deixado, acredita que ajuda muito e é um alento para continuar a melhorar...
MadOnion 13-01-2007, 13:14 De nada, a comunidade está aqui para ajudar. E no que toca a java, se eu puder ajudar e souber, estarei sempre ao corrente da situação para ajudar quem precisa.
Cumps e bons projectos :P
|
|