he estado creando este ejercicio q es sobre un banco, este nos da un numero de cuenta por defecto y nosotros podamos retirar consignar pero me aparecen algunos problemas q no he podido arreglar..
//fichero Cuenta1.java
import java.io.*;
public class Cuenta1 extends Object
{
private int numero;
protected String cliente;
public double saldo;
public int i;
public Cuenta1()
{
numero=0; cliente=" ";
saldo=0;
}
public Cuenta1(int n,String c,double s)
{
numero=n; cliente=c;
saldo=s;
}
public static void main(String args[])
{
String c; int n,i,opc; double s,retirar,consignar;
Cuenta Cuent2[]= new Cuenta[4];
InputStreamReader leer=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader (leer); //convertir en br hasta que el ususario presione enter
try
{
for (i=0;i<=3;i++)
{
System.out.println("ingrese el nombre del cliente: ");
c=br.readLine();
Cuent2=new Cuenta(n,c,s);
}
for (i=0;i<=3;i++)
{
System.out.println("el cliente es"+" "+c);
System.out.println("el saldo es"+" "+s);
n=50702+i;
}// fin for
System.out.println("presione 1 para retirar 2 para consignar: ");
if (opc==1)
{
System.out.println("digite el valor a consignar: ");
consignar=br.readLine();
s=s+consignar;
System.out.println("el numero de cuenta es: "+" "+n);
System.out.println("el cliente es: "+" "+c);
System.out.println("el saldo es: "+" "+s);
System.out.println("el valor consignado es: "+" "+consignar);
}//fin if
else if (opc==2)
{
System.out.println("digite el valor a retirar: ");
retirar=br.readLine();
s=s+retirar;
System.out.println("el numero de cuenta es: "+" "+n);
System.out.println("el cliente es: "+" "+c);
System.out.println("el saldo es: "+" "+s);
System.out.println("el valor retirado es: "+" "+retirar);
}// fin if
else
{
System.out.println("Lo sentimos su transaccion es invalida");
}//cierra else
}// cierra try
catch(Exception e)
{
e.printStackTrace();
} //cierra catch
} //cierra main
} // cierra class
Mmm... hay muchos errores de sintaxis amigo =)
Haber podrias enunciar el ejercicio completo?
bueno la idea esq es una cuenta de banco y nosotros podemos introducir el cliente y el banco nos da el numero de cuenta por defecto, a esta cuenta le podemos consignar, retirar,mas no midificar.
Supongo que cuando dices que al saldo de la cuenta del cliente X, debemos mostrarle la opcion de retirar o consignar esto supone que la variable saldo va a ser modificada dependiendo si vamos a retirar o consignar.
Cierto?, esperame voy a hacer tu tarea =p, dame 5 min.
Fijate, son 3 archivos
- La clase banco
- El main
- La clase leer, una clase que tengo para lectura de datos xD
Recuerda, son 3 archivos: Main.java , banco.java y Leer.java
public class Main {
public static void main(String[] args) {
banco C[] = new banco[100];
int op;
//creando objetos para cada posicion del vector
for (int i=0;i<=99;i++){
banco aux = new banco();
C[i] = aux;
}
// agregando clientes en el vector C
for (int i=0;i<=2;i++){
C[i].leer();
}
System.out.println("Mostrando clientes :");
//mostando datos
for (int i=0;i<=2;i++){
C[i].mostrar();
}
// pedir nombre de un cliente y retirar/consignar
for (int i=0;i<=2;i++){
// aqui yo le pongo pepito, si se quiere leer un nombre desde el teclado
// entonces creas una variable y lees el nombre de cliente
if (C[i].getCliente().compareTo("pepito")==0){
System.out.println("Presione 1 para consignar o 2 para retirar");
op = Leer.datoInt();
if(op==1)
C[i].consignar();
if(op==2)
C[i].retirar();
System.out.println("Datos actuales de "+C[i].getCliente());
C[i].mostrar();
}
}
}
}
public class banco {
private String cliente;
private int nrocuenta;
private double saldo;
public banco (){
cliente = "";
nrocuenta = 0;
saldo = 0;
}
public banco(String a, int b, int c){
cliente = a;
nrocuenta = b;
saldo = c;
}
public void leer(){
System.out.print("Ingrese nombre de cliente: ");
cliente = Leer.dato();
System.out.print("Ingrese nro cuenta de cliente: ");
nrocuenta = Leer.datoInt();
System.out.print("Ingrese saldo de cliente: ");
saldo = Leer.datoDouble();
}
public void mostrar(){
System.out.println("\tCliente="+cliente+"\n\tNro. cuenta="+nrocuenta+"\n\tSaldo="+saldo);
}
public String getCliente(){
return cliente;
}
public void consignar(){
double monto;
System.out.print("Ingrese el monto a consignar: ");
monto = Leer.datoDouble();
saldo = saldo + monto;
}
public void retirar(){
double monto;
System.out.print("Ingrese el monto a retirar: ");
monto = Leer.datoDouble();
saldo = saldo - monto;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Leer
{ public static String dato()
{ String Cadena = "";
try
{ /*InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader Entrada = new BufferedReader(isr);
Cadena = Entrada.readLine();*/
// Otra alternativa para declarar la Entrada de Datos
BufferedReader Entrada = new BufferedReader(new InputStreamReader(System.in));
Cadena = Entrada.readLine( );
}
catch(IOException e)
{ System.err.println("Error : " + e.getMessage());
}
return Cadena;
}
public static short datoShort()
{ try
{ return Short.parseShort(dato());
}
catch(NumberFormatException e)
{ return Short.MIN_VALUE;
}
}
public static int datoInt()
{ try
{ return Integer.parseInt(dato());
}
catch(NumberFormatException e)
{ return Integer.MIN_VALUE;
}
}
public static long datoLong()
{ try
{ return Long.parseLong(dato());
}
catch(NumberFormatException e)
{ return Long.MIN_VALUE;
}
}
public static float datoFloat()
{ try
{ Float f = new Float(dato());
return f.floatValue();
}
catch(NumberFormatException e)
{ return Float.NaN;
}
}
public static double datoDouble()
{ try
{ Double d = new Double(dato());
return d.doubleValue();
}
catch(NumberFormatException e)
{ return Double.NaN;
}
}
}
muchas gracias esta super
Cualquier duda me avisas bro =)
las plantillas compilan muy bien pero no corre el programa...xD
+____+