Foros | Webinarios | Blogs
 

Tengo un problema Llamar un metod por medio del case

Seguir
buena noches soy novato en esto, No se como implementar de forma correcta el case, necesito llamar un método con case pero me ha dado problemas. Es solo de crear una clase de cuanta de ahorro donde se puedan hacer retiros y cargos.

este es mi main:
import java.util.Scanner;
public class Principal{
String nom;
int in, sal, ab, a;
static boolean caso=false;

public static void main(String args[]){

Scanner x=new Scanner(System.in);
double t=0;
System.out.println("****Bienvenido al registro de Banca Medina****");

System.out.println("1.Abono");
System.out.println("2.Retiro");
System.out.println("3.Salir");


System.out.println("Introduce una Opcion, por numero");
int a=x.nextInt();

if(a <0 && a>3){
System.out.println("Na mames solo de 1 a 3");
}

switch (a){

case 1: Principal.Abono();
break;
case 2: Principal.Retiro();
break;
case 3: System.exit(0);
break;
}
}

}


Y este mis Métodos

import java.util.Scanner;

public class Cuenta{
String nom;
int saldo=0;
int a, b;

public void Abono(String nom, int a){
Scanner dato=new Scanner(System.in);
System.out.println("Ingresa tu nombre");
String nom=dato.nextLine();
System.out.println("Ingresa la catidad a abonar a tu cuenta")
int a=dato.nextInt();
saldo = saldo + a:
System.out.println(nom + "Tu Nuevo saldo es: " + Saldo);

}

public void Retiro(String nom, int b){
Scanner dato=new Scanner(System.in);
System.out.println("Ingresa tu nombre");
String nom=dato.nextLine();
System.out.println("Ingresa la catidad a retirar a tu cuenta")
int b=dato.nextInt();
if(b>saldo || b<0){
System.out.println("No tienes los fondos suficientes");
else}
saldo = saldo - b:
System.out.println(nom + "Tu Nuevo saldo es: " + Saldo)
}
}


Disculpen es que soy nuevo en esto.


1 Solución propuesta

SOLUCIÓN ACEPTADA
Hola Bullomedina,

el main debería ser:

import java.util.Scanner;
public class Principal{
String nom;
int in, sal, ab, a;
static boolean caso=false;

public static void main(String args[]){

Cuenta cuenta = new Cuenta();
Scanner x=new Scanner(System.in);
double t=0;
System.out.println("****Bienvenido al registro de Banca Medina****");

System.out.println("1.Abono");
System.out.println("2.Retiro");
System.out.println("3.Salir");


System.out.println("Introduce una Opcion, por numero");
int a=x.nextInt();

if(a <0 && a>3){
System.out.println("Na mames solo de 1 a 3");
}

switch (a){

case 1: cuenta.Abono();
break;
case 2: cuenta.Retiro();
break;
case 3: System.exit(0);
break;
}
}

}

y en la clase Cuenta, los métodos deben ir sin parámetros, debido a que no se están usando, quedando:

import java.util.Scanner;

public class Cuenta{
String nom;
int saldo=0;
int a, b;

public void Abono(){
Scanner dato=new Scanner(System.in);
System.out.println("Ingresa tu nombre");
nom=dato.nextLine();
System.out.println("Ingresa la catidad a abonar a tu cuenta")
a=dato.nextInt();
sal+=a:
System.out.println(nom + "Tu Nuevo saldo es: " + sal);

}

public void Retiro(){
Scanner dato=new Scanner(System.in);
System.out.println("Ingresa tu nombre");
nom=dato.nextLine();
System.out.println("Ingresa la catidad a retirar a tu cuenta")
b=dato.nextInt();
if(b>sal|| b<0){
System.out.println("No tienes los fondos suficientes"); }
else{
sal-=b;
System.out.println(nom + "Tu Nuevo saldo es: " + sal) ;
}
}

la corrección la he aplicado sobre el código de tu post, el cual no era compilable.
Para hacer pruebas con Java te recomiendo que uses algún IDE opensource como NetBeans o Eclipse, que te van a proporcionar ayuda en la creación de tu código.

Saludos.