style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Orientacion a funciones

Que tal colegas del foro, siguiendo los pasos de principiante en esto de java, tengo otra duda que es la Orientacion a Funciones, les expongo el problema:

Elabora un programa, utilizando funciones que realice
las siguientes conversiones:

1. pesos a dolares
2. dolares a euros
3. euros a libras
4. pesos a yen

para la primera opcion utilice un funcion con parametros
y sin retorno. la codicion para la conversion son cantidades
positivas y no mayores a 5000.

la segunda opcion se implementa como funcion con retorno y con
parametros. la conversion se realizaran si la cantidad de dolares
se encuentra entre 50 y maximo 7000.

la tercera opcion es una funcion sin parametros y con retorno.Solo
cantidades postitvas son aceptadas.

la ultima funcion se implementa sin paraemtro y sin retorno la cantidad
de pesos debe estar en entre 700 y 15000.

el muenu debe repetir hasta que el usuario seleccione la opcion salir,
para terminar el programa.

Mi programa mal empezado lo tengo asi a lo poco de lógica dado el problema: Siento que esta mal estructurado

import java.util.*;
import java.io.*;

public class conversionesDivisas {
       
String Peso;
String Dolar;
String Euro;
String Libra;
String Yen;
double entrada, cantidad, opcion;

public static BufferedReader buff=new BufferedReader (new InputStreamReader (System.in));

public static double PaD() throws IOException{

}
public static double DaE() throws IOException{
       
        }
public static double EaL() throws IOException{
        cantidad=leer.nextDouble();
        libras=cantidad*24.63;
        return libra;
        }
public static double PaY() throws IOException{
        catidad= leer.nextDouble();
        yen= cantidad*0.17;
       
}
public static void main (String[] Args) throws IOException{
       

{
do {
       
System.out.println("Qué deseas realizar");
System.out.println(" [1] Conversión de Pesos a Dolares");
System.out.println(" [2] Conversión de Dolares a Euros");
System.out.println(" [3] Conversión de Euros a Libras");
System.out.println(" [4] Conversión de Pesos a Yen");
System.out.println("salir");
System.out.println("Ingrese un dato válido");

opcion = entrada.next().toUpperCase().charAt(0);

while (opcion != 'S');

}
}
}//fin del programa

Como siempre agredezco a quien me ayuda y a los que toman parte de su tiempo para leer.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de chicowed

Orientación a funciones

No se a que te refieras con orientación a funciones, pero creo que tu problema quedaria mejor con un switch y un dowhile.

Imagen de Felipe Garcia

Alguien me puede ayudar

porque no corre mi programa me dice esto:
Syntax error on tokens, delete these tokens
y respecto al código lo pongo a continuación

// Felipe de Jesús García Mendoza
06/Sep/2016
Actividad #1
Conversiones de Divisas//

import java.util.*;
import java.io.*;

public class conversionesDivisas {

public static BufferedReader buff=new BufferedReader (new InputStreamReader (System.in));

 

        public static double PaD(double cantidad){

                return cantidad*17.71;
        }

        public static double DaE(double cantidad){

               return cantidad*20.05;
        }

        public static double EaL(double cantidad) {

                return cantidad * 24.63;

        }

        public static double PaY(double cantidad){

                return cantidad * 0.17;

        }

        public static void menuConversion(String opcion, Scanner scanner){

                  double cantidad, valor = 0;

 

                  switch(opcion){

                        case "1":
                                        System.out.println("Indique la cantidad");

                                        cantidad = scanner.nextDouble();

                                        valor = PaD(cantidad);

                                        System.out.println(valor);

                                break;
                        case "2":

                                System.out.println("Indique la cantidad");

                                cantidad = scanner.nextDouble();

                                valor = DaE(cantidad);

                                System.out.println(valor);
                                       
                                break;
                               
                        case "3":

                                System.out.println("Indique la cantidad");

                                cantidad = scanner.nextDouble();

                                valor = EaL(cantidad);

                                System.out.println(valor);
                               
                                break;
                        case "4":

                                System.out.println("Indique la cantidad");

                                cantidad = scanner.nextDouble();

                                valor = PaY(cantidad);

                                System.out.println(valor);
                                break;
                        }
                  }
       
         

        public static void main (String[] Args) throws IOException{

                String opcion = " ";

                Scanner scanner = new Scanner(System.in);

                        do {

 

                                System.out.println("Qué deseas realizar");

                                System.out.println("1- Conversión de Pesos a Dolares");

                                System.out.println("2- Conversión de Dolares a Euros");

                                System.out.println("3- Conversión de Euros a Libras");

                                System.out.println("4- Conversión de Pesos a Yen");

                                System.out.println("S- Salir");

                                //System.out.println("Ingrese un dato válido");

 

                                opcion = scanner.next();

                                menuConversion(opcion, scanner);

 

                                }while (!opcion.equalsIgnoreCase("S"));

 

                                System.out.println("Hasta luego");

}

}//fin del programa

Imagen de chicowed

pues...

Tu código si corre, no entiendo porque te mande ese error, yo en lo personal separaría el código en dos clases, una que es la principal(main) y la otra que podría ser donde se hacen las conversiones, también habría que cuidar lo que te pasa el usuario como parámetro es decir si el usuario teclea "c" esto mandara un error te dejo un ejemplo que hice.

Clase vista

import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

/**
 *
 * @author Josue
 */

public class Vista extends JFrame {

    private JTextField campoPeso;
    private JTextField campoDollar;
    private JTextField campoEuro;
    private JLabel etiquetaPeso;
    private JLabel etiquetaDollar;
    private JLabel etiquetaEuro;

    public Vista() {
        super("Divisas");

        definirVentana();
        this.setSize(260, 300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }

    private void definirVentana() {
        this.setLayout(new FlowLayout());
        etiquetaPeso = new JLabel("Peso Mexicano");
        etiquetaDollar = new JLabel("Dollar Estadounidence");
        etiquetaEuro = new JLabel("Euro");

        campoPeso = new JTextField(20);
        campoDollar = new JTextField(20);
        campoEuro = new JTextField(20);

        campoPeso.addKeyListener((KeyListener) new MiCampoPeso());
        campoDollar.addKeyListener((KeyListener) new MiCampoDollar());
        campoEuro.addKeyListener((KeyListener) new MiCampoEuro());

        this.add(etiquetaPeso);
        this.add(campoPeso);
        this.add(etiquetaDollar);
        this.add(campoDollar);
        this.add(etiquetaEuro);
        this.add(campoEuro);
    }

    class MiCampoDollar implements KeyListener {

        @Override
        public void keyTyped(KeyEvent ke) {
            if (ke.getKeyChar() == '\n') {
                String a = campoDollar.getText();
                double val = 0.0;
                try {
                    val = Double.parseDouble(a);
                } catch (NumberFormatException e) {
                    campoDollar.setText("Error");
                    return;
                }
                campoPeso.setText("\u0024 " + val*18.3379);
                campoDollar.setText("\u0024 " + a);
                campoEuro.setText("\u20AC " + val*0.8835);
            }
        }

        @Override
        public void keyPressed(KeyEvent e) {
        }

        @Override
        public void keyReleased(KeyEvent e) {
        }
    }

    class MiCampoEuro implements KeyListener {

        @Override
        public void keyTyped(KeyEvent ke) {
            if (ke.getKeyChar() == '\n') {
                String a = campoEuro.getText();
                double val = 0.0;
                try {
                    val = Double.parseDouble(a);
                } catch (NumberFormatException e) {
                    campoEuro.setText("Error");
                    return;
                }
                campoPeso.setText("\u0024 " + val*20.7548);
                campoDollar.setText("\u0024 " + val*1.1319);
                campoEuro.setText("\u20AC " + a);
            }
        }

        @Override
        public void keyPressed(KeyEvent e) {
        }

        @Override
        public void keyReleased(KeyEvent e) {
        }
    }

    class MiCampoPeso implements KeyListener {

        @Override
        public void keyTyped(KeyEvent ke) {
            if (ke.getKeyChar() == '\n') {
                String a = campoPeso.getText();
                double val = 0.0;
                try {
                    val = Double.parseDouble(a);
                } catch (NumberFormatException e) {
                    campoPeso.setText("Error");
                    return;
                }
                campoPeso.setText("\u0024 " + a);
                campoDollar.setText("\u0024 " + val*0.0545);
                campoEuro.setText("\u20AC " + val*0.0482);
            }
        }

        @Override
        public void keyPressed(KeyEvent ke) {
        }

        @Override
        public void keyReleased(KeyEvent ke) {
        }
    }

}

Clase Prueba

public class Prueba {
    public static void main(String [] args) {
        Vista v = new Vista();
    }
}
Imagen de Felipe Garcia

Se crearon dos clases

En efecto chicowed tuve que hacer dos clases para que pudiera correr sin el error de la sintaxis y pudiera hacer la conversiones de las divisas. Gracias nuevamente.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">