import java.io.IOException;
import java.util.Scanner;
public class ptsaeur {
private static String pts;
public static void main (String []args) throws IOException{
System.out.println("Bienvenido al programa para pasar de euros a pesetas o de pesetas a euros ");
System.out.println("si quiere pasar de pesetas a euros introduce por pantalla : pts");
System.out.println("si quiere pasar de euros a pesetas introduce por pantalla : eur");
Scanner sc = new Scanner(System.in);
String cadena = sc.nextLine();
if( cadena == pts )
{
System.out.print("Introduzca pts: ");
double pts2 = sc.nextDouble();
double totalpts= (pts2 *1.66)/1 ;
System.out.println(totalpts+"eur");
}
else
{
double eur2;
System.out.print("Introduzca eur: ");
eur2 = sc.nextDouble();
double totaleur= (pts2 *1.66)/1 ;
System.out.println(totaleur+"eur");
}
}
}
if (cadena == "pts") { [...] }
import java.io.IOException;
import java.util.Scanner;
public class ptsaeur {
public static void main(String[] args) throws IOException {
double entrada, resultado;
System.out.println("Bienvenido al programa para pasar de euros a pesetas o de pesetas a euros ");
System.out.println("si quiere pasar de pesetas a euros introduce por pantalla : pts");
System.out.println("si quiere pasar de euros a pesetas introduce por pantalla : eur");
Scanner sc = new Scanner(System.in);
String opcion = sc.nextLine();
if (opcion.equals("pts")) {
System.out.print("Introduzca pts: ");
entrada = sc.nextDouble();
resultado = entrada / 166;
System.out.println(resultado + "eur");
} else if (opcion.equals("eur")){
System.out.print("Introduzca eur: ");
entrada = sc.nextDouble();
resultado = entrada * 166;
System.out.println(resultado + "pts");
} else {
System.out.println("Has elegido \"" + opcion + "\" està opción no existe");
}
}
}
aleix_1379 escribió:Hola, te comento algunas cosas que puedes mejorar.
1) No se porque has hecho "private static String pts;" en vez de que sea una variable de la función main, de todas formas no se utiliza así que yo la quitaría.
2) Si declaras una variable dentro del if esta no es visible en el else, lo digo por el "double pts2"
3) Para comparar String usa el equals, sino estas comparando punteros
4) Creo que seria recomendable hacer un else if (cadena.equals("eur") pues si el usuario escribe algo diferente a pts no tiene por que calcular euros y añadir un else indicando al usuario que se ha equivocado
5) tanto si calculas euros o pesetas haces lo mismo.
totalpts = (pts2 * 1.66) / 1;
totaleur = (pts2 * 1.66) / 1;
Te pongo el código por si quieres mirar un poco, te recomiendo que intentes ampliar-lo para que puedas hacer otro tipo de conversión, por ejemplo dolar-yen yen-euro, etc..
Saludos.import java.io.IOException;
import java.util.Scanner;
public class ptsaeur {
public static void main(String[] args) throws IOException {
double entrada, resultado;
System.out.println("Bienvenido al programa para pasar de euros a pesetas o de pesetas a euros ");
System.out.println("si quiere pasar de pesetas a euros introduce por pantalla : pts");
System.out.println("si quiere pasar de euros a pesetas introduce por pantalla : eur");
Scanner sc = new Scanner(System.in);
String opcion = sc.nextLine();
if (opcion.equals("pts")) {
System.out.print("Introduzca pts: ");
entrada = sc.nextDouble();
resultado = entrada / 166;
System.out.println(resultado + "eur");
} else if (opcion.equals("eur")){
System.out.print("Introduzca eur: ");
entrada = sc.nextDouble();
resultado = entrada * 166;
System.out.println(resultado + "pts");
} else {
System.out.println("Has elegido \"" + opcion + "\" està opción no existe");
}
}
}
juanxugr7 escribió:Hola , es que estoy haciendo un ejercicio de java ...
Deschamps escribió:juanxugr7 escribió:Hola , es que estoy haciendo un ejercicio de java ...
Si estás a tiempo, considera cambiar a otra especialidad. La informática es una mierda hoy en día, y solo los verdaderamente brillantes o los que tiene un buen enchufe tienen alguna posibilidad. El resto va a ir derechito a engrosar las listas del paro.
import java.io.IOException;
import java.util.Scanner;
public class Moneda {
public void deEurosAPesetas(){
double euros ;
double total=euros /166;
}
public void dePesetasAEuros(){
double pts;
double total2= pts*166;
}
public static void main (String []args){
System.out.println("Introduce pts si quieres pasar de pesetas a euros ");
System.out.println("Introduce eur si quieres pasar de euros a pesetas ");
Scanner sc = new Scanner(System.in);
String cadena = sc.nextLine();
if(( "pts").equals(cadena) )
{
System.out.println("introduce el numero de pesetas");
cambio.pts = sc.nextDouble();
double total=cambio.pts/1.66;
}
else if(("eur").squals(cadena))
{
System.out.println("introduce el numero de pesetas");
cambio.euros =sc.nextDouble();
double total= cambio.euros*1.66;
}
else
System.out.println("has elegido una opcion que no es");
}
}
Deschamps escribió:Eso díselo a las decenas de miles procedentes de módulos que están (con suerte) de prácticas sin cobrar un duro y luego se comen los mocos. Alguno tiene la suerte de currar luego cobrando 800 euros/mes haciendo mil cosas que no le corresponden, y debe sentirse afortunado.
import java.io.IOException;
import java.util.Scanner;
public class Moneda {
double euros;
double pts;
public void deEurosAPesetas(){
return euros;
}
public void dePesetasAEuros(){
return pts;
}
public static void main (String []args){
System.out.println("Introduce pts si quieres pasar de pesetas a euros ");
System.out.println("Introduce eur si quieres pasar de euros a pesetas ");
Scanner sc = new Scanner(System.in);
String cadena = sc.nextLine();
if(( "pts").equals(cadena) )
{
Moneda peseta = new Moneda ();
System.out.println("introduce el numero de pesetas");
peseta.pts = sc.nextDouble();
double total=peseta.pts/1.66;
System.out.println(total+"euros");
}
else if(("eur").equals(cadena))
{
Moneda euro = new Moneda ();
System.out.println("introduce el numero de euros");
euro.euros =sc.nextDouble();
double total= euro.euros*1.66;
System.out.println(total+"pesetas");
}
else
System.out.println("has elegido una opcion que no es");
}
}
juanxugr7 escribió:Ya lo tengo!!!! Muchisimas gracias por la ayuda! , si hay alguna cosa que se pueda mejorar en el codigo , decirmela os lo agradeceria ya que estoy empezando .import java.io.IOException;
import java.util.Scanner;
public class Moneda {
double euros;
double pts;
public void deEurosAPesetas(){
return euros;
}
public void dePesetasAEuros(){
return pts;
}
public static void main (String []args){
System.out.println("Introduce pts si quieres pasar de pesetas a euros ");
System.out.println("Introduce eur si quieres pasar de euros a pesetas ");
Scanner sc = new Scanner(System.in);
String cadena = sc.nextLine();
if(( "pts").equals(cadena) )
{
Moneda peseta = new Moneda ();
System.out.println("introduce el numero de pesetas");
peseta.pts = sc.nextDouble();
double total=peseta.pts/1.66;
System.out.println(total+"euros");
}
else if(("eur").equals(cadena))
{
Moneda euro = new Moneda ();
System.out.println("introduce el numero de euros");
euro.euros =sc.nextDouble();
double total= euro.euros*1.66;
System.out.println(total+"pesetas");
}
else
System.out.println("has elegido una opcion que no es");
}
}
Alecs7k escribió:juanxugr7 escribió:Ya lo tengo!!!! Muchisimas gracias por la ayuda! , si hay alguna cosa que se pueda mejorar en el codigo , decirmela os lo agradeceria ya que estoy empezando .import java.io.IOException;
import java.util.Scanner;
public class Moneda {
double euros;
double pts;
public void deEurosAPesetas(){
return euros;
}
public void dePesetasAEuros(){
return pts;
}
public static void main (String []args){
System.out.println("Introduce pts si quieres pasar de pesetas a euros ");
System.out.println("Introduce eur si quieres pasar de euros a pesetas ");
Scanner sc = new Scanner(System.in);
String cadena = sc.nextLine();
if(( "pts").equals(cadena) )
{
Moneda peseta = new Moneda ();
System.out.println("introduce el numero de pesetas");
peseta.pts = sc.nextDouble();
double total=peseta.pts/1.66;
System.out.println(total+"euros");
}
else if(("eur").equals(cadena))
{
Moneda euro = new Moneda ();
System.out.println("introduce el numero de euros");
euro.euros =sc.nextDouble();
double total= euro.euros*1.66;
System.out.println(total+"pesetas");
}
else
System.out.println("has elegido una opcion que no es");
}
}
No lo has hecho bien. Has puesto la lógica para convertir el tipo de divisa dentro del main y lo tienes que hacer dentro de las funciones. Luego en el main solo tienes que llamar a la función, por ejemplo, pasándole los euros o las pesetas como parámetro.
public static double total1 (double pts )
{
double total1=pts / 1.66
}
juanxugr7 escribió:Me lo podría poner como es , es que no se como hay que hacerlo , pero es cierto que lo hice en el main .
La función por ejemplo podria ser esta:public static double total1 (double pts )
{
double total1=pts / 1.66
}
Pero no se como llamar en el main a la funcion y como coger los datos de pts por teclado.
System.out.println("introduce pesetas");
importe = sc.nextDouble(); // leo la información por teclado y lo guardo en la variable importe que es double
resultado = total1(importe); // Llamo a la función y le paso el importe que he leído y la función devuelve el valor en pts o en euros dependiendo de cual sea el caso
System.out.println(resultado); // Muestro el resultado
public static double ptsToEuro (double pts) {
return pts / 166;
}
public static double ptsToEuro (double pts) {
double euros;
euros = pts / 166;
return euros;
}
Deschamps escribió:juanxugr7 escribió:Hola , es que estoy haciendo un ejercicio de java ...
Si estás a tiempo, considera cambiar a otra especialidad. La informática es una mierda hoy en día, y solo los verdaderamente brillantes o los que tiene un buen enchufe tienen alguna posibilidad. El resto va a ir derechito a engrosar las listas del paro durante mucho tiempo. Ni siquiera para marchar fuera te sirve la formación.
xecollons escribió:aleix_1379 escribió:Hola, te comento algunas cosas que puedes mejorar.
1) No se porque has hecho "private static String pts;" en vez de que sea una variable de la función main, de todas formas no se utiliza así que yo la quitaría.
2) Si declaras una variable dentro del if esta no es visible en el else, lo digo por el "double pts2"
3) Para comparar String usa el equals, sino estas comparando punteros
4) Creo que seria recomendable hacer un else if (cadena.equals("eur") pues si el usuario escribe algo diferente a pts no tiene por que calcular euros y añadir un else indicando al usuario que se ha equivocado
5) tanto si calculas euros o pesetas haces lo mismo.
totalpts = (pts2 * 1.66) / 1;
totaleur = (pts2 * 1.66) / 1;
Te pongo el código por si quieres mirar un poco, te recomiendo que intentes ampliar-lo para que puedas hacer otro tipo de conversión, por ejemplo dolar-yen yen-euro, etc..
Saludos.import java.io.IOException;
import java.util.Scanner;
public class ptsaeur {
public static void main(String[] args) throws IOException {
double entrada, resultado;
System.out.println("Bienvenido al programa para pasar de euros a pesetas o de pesetas a euros ");
System.out.println("si quiere pasar de pesetas a euros introduce por pantalla : pts");
System.out.println("si quiere pasar de euros a pesetas introduce por pantalla : eur");
Scanner sc = new Scanner(System.in);
String opcion = sc.nextLine();
if (opcion.equals("pts")) {
System.out.print("Introduzca pts: ");
entrada = sc.nextDouble();
resultado = entrada / 166;
System.out.println(resultado + "eur");
} else if (opcion.equals("eur")){
System.out.print("Introduzca eur: ");
entrada = sc.nextDouble();
resultado = entrada * 166;
System.out.println(resultado + "pts");
} else {
System.out.println("Has elegido \"" + opcion + "\" està opción no existe");
}
}
}
Hazle caso a este hombre que sabe lo que dice.
Como entiendo que el fallo entre multiplicar y dividir pesetas y euros ha sido más un lapsus que otra cosa, lo que me da más curiosidad es ese static string pts... cuál era tu idea con eso?
"pts".equals(opcion)
QuiNtaN escribió:Deschamps escribió:juanxugr7 escribió:Hola , es que estoy haciendo un ejercicio de java ...
Si estás a tiempo, considera cambiar a otra especialidad. La informática es una mierda hoy en día, y solo los verdaderamente brillantes o los que tiene un buen enchufe tienen alguna posibilidad. El resto va a ir derechito a engrosar las listas del paro durante mucho tiempo. Ni siquiera para marchar fuera te sirve la formación.
Pues yo estoy en Suiza y la informática se valora mucho y de hecho hay mucha demanda.