Java - EJERCICIO DE JAVA.TIENDA VIRTUAL

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

EJERCICIO DE JAVA.TIENDA VIRTUAL

Publicado por José María (4 intervenciones) el 15/12/2019 22:11:27
Hola,soy nuevo en esto y estoy haciendo un ejercicio y me quede bloqueado porque no me suma al final de elegir las opciones de la tienda .(Adjunto ejercicio mas mi código )un saludo y gracias.
EJERCICIO:


Crea una aplicación con Java a ejecutar en la consola que permita a un usuario seleccionar un ordenador, configurándolo en función de las distintas opciones que se le ofrece, para obtener al final, como resultado, una relación de todo lo elegido y el importe final.

Respecto a las opciones disponibles, se deberán ofrecer las siguientes:

Tipo de ordenador:
Sobremesa (500€)
Portatil (600€)
Procesador:
i3 (precio base)
i5 (200€)
i7 (400€)
Tipo de disco duro:
HDD (precio base)
SSD (300€)
Capacidad de disco duro:
120 GB (precio base)
250 GB (200€)
500 GB (300€)
Capacidad memoria RAM
08 GB (precio base)
16 GB (200€)
MI CÓDIGO :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package javaapplication4;
import java.util.Scanner;
public class JavaApplication4 {
public static void main(String[] args) {
Scanner pc= new Scanner(System.in);
String user= pc.nextLine();
String option1="";
String option2="";
String option3="";
System.out.println("Indica tipo de ordenador: Sobremesa(500€) o Portatil(600€)");
user= pc.nextLine();
option1="Sobremesa";
 
option2="Portatil";
int precio=0;
if (user.equals(option1)){
System.out.println("Ha escogido ordenador de sobremesa");
precio+=500; } if (user.equals(option2)){
System.out.println("Ha escogido ordenador portatil");
precio+=600; }
System.out.println("indica tipo de procesador: i3(0€) / i5(200€) / i7(300€)");
user= pc.nextLine(); option1="i3"; option2="i5"; option3="i7";
if (user.equals(option1)){
System.out.println("Ha escogido procesador i3");
} if (user.equals(option2)){
System.out.println("Ha escogido procesador i5");
precio+=200; }
if (user.equals(option3)){
System.out.println("Ha escogido procesador i7");
precio+=300; }
System.out.println("indica tipo de disco duro: Disco duro mecánico(0€) o Disco duro sólido/ (300€)");
user= pc.nextLine(); option1="Disco duro mecánico"; option2="Disco duro sólido";
if (user.equals(option1)){
System.out.println("Ha escogido Disco duro mecánico");
} if (user.equals(option2)){
System.out.println("Ha escogido Disco duro sólido");
precio+=300; }
System.out.println("indica capacidad del disco duro: 250gb(0€) / 500gb (200€) / 750gb (300€)");
user= pc.nextLine(); option1="250gb"; option2="500gb"; option3="750gb";
if (user.equals(option1)){
System.out.println("Ha escogido usted disco duro de 250gb");
} if (user.equals(option2)){
System.out.println("Ha escogido usted disco duro de 500gb");
int precio+=200; }
if (user.equals(option3)){
System.out.println("Ha escogido usted disco duro de 750gb");
precio+=300; }
System.out.println("indica tipo memoria ram 8gb(0€): 16(200€)"); user= pc.nextLine(); option1="8gb"; option2="16gb";
if (user.equals(option1)){
System.out.println("Ha escogido 8gb");
} if (user.equals(option2)){
System.out.println("Ha escogido 16gb");
precio+=200; }
System.out.println("El precio final es "+precio+" EUROS"); } }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

EJERCICIO DE JAVA.TIENDA VIRTUAL

Publicado por David (9 intervenciones) el 16/12/2019 02:28:27
Hola José María, por lo que he podido probar hay dos pequeños fallos:

Al principio del programa declaras la variable:

1
String user= pc.nextLine()

Esa variable, está esperando a que el usuario introduzca algo por consola, por lo que parece que no está funcionando el programa cuando sí, por ello, es mejor declarar la variable y asignarla después de hacer el:

1
System.out.println("Indica tipo de ordenador: Sobremesa(500€) o Portatil(600€)");
.

Por otra parte, no te suma las cantidades por esto:

1
2
3
4
if (user.equals(option2)){
    System.out.println("Ha escogido usted disco duro de 500gb");
    int precio+=200;
}

La variable precio, ya está creada, por lo que poner otra vez el tipo de dato, te tendrá que estar dando un error, sobre todo cuando estás utilizando un operador compuesto, sumando una cantidad.

Es decir, que deberías poner:
1
precio+=200;

Ya que si estás intentando sumar a lo que ya había dentro de precio, poniendo el tipo de dato, te dará un error, porque no puede sumar a algo que aún no existe (porque lo estás declarando a la vez).

No sé si me explico.

Por último, decir que cuando pongas código deberías utilizar la opción de insertar código, para que quede mucho más visual y claro.

Te pongo el código completo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package javaapplication4;
import java.util.Scanner;
 
public class JavaApplication4 {
 
	public static void main(String[] args) {
			Scanner pc = new Scanner(System.in);
		// String user = pc.nextLine();
		String user;
 
		String option1 = "";
		String option2 = "";
		String option3 = "";
 
		System.out.println("Indica tipo de ordenador: Sobremesa(500€) o Portatil(600€)");
 
		user = pc.nextLine();
 
		option1 = "Sobremesa";
 
		option2 = "Portatil";
 
		int precio = 0;
 
		if (user.equals(option1)) {
			System.out.println("Ha escogido ordenador de sobremesa");
			precio += 500;
		}
		if (user.equals(option2)) {
			System.out.println("Ha escogido ordenador portatil");
			precio += 600;
		}
		System.out.println("indica tipo de procesador: i3(0€) / i5(200€) / i7(300€)");
		user = pc.nextLine();
		option1 = "i3";
		option2 = "i5";
		option3 = "i7";
 
		if (user.equals(option1)) {
			System.out.println("Ha escogido procesador i3");
		}
		if (user.equals(option2)) {
			System.out.println("Ha escogido procesador i5");
			precio += 200;
		}
		if (user.equals(option3)) {
			System.out.println("Ha escogido procesador i7");
			precio += 300;
		}
		System.out.println("indica tipo de disco duro: Disco duro mecánico(0€) o Disco duro sólido/ (300€)");
		user = pc.nextLine();
		option1 = "Disco duro mecánico";
		option2 = "Disco duro sólido";
		if (user.equals(option1)) {
			System.out.println("Ha escogido Disco duro mecánico");
		}
		if (user.equals(option2)) {
			System.out.println("Ha escogido Disco duro sólido");
			precio += 300;
		}
		System.out.println("indica capacidad del disco duro: 250gb(0€) / 500gb (200€) / 750gb (300€)");
		user = pc.nextLine();
		option1 = "250gb";
		option2 = "500gb";
		option3 = "750gb";
		if (user.equals(option1)) {
			System.out.println("Ha escogido usted disco duro de 250gb");
		}
		if (user.equals(option2)) {
			System.out.println("Ha escogido usted disco duro de 500gb");
			// int precio+=200;
			precio += 200;
		}
		if (user.equals(option3)) {
			System.out.println("Ha escogido usted disco duro de 750gb");
			precio += 300;
		}
		System.out.println("indica tipo memoria ram 8gb(0€): 16(200€)");
		user = pc.nextLine();
		option1 = "8gb";
		option2 = "16gb";
		if (user.equals(option1)) {
			System.out.println("Ha escogido 8gb");
		}
		if (user.equals(option2)) {
			System.out.println("Ha escogido 16gb");
			precio += 200;
		}
		System.out.println("El precio final es " + precio + " EUROS");
	}
}

Espero haberte ayudado.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

EJERCICIO DE JAVA.TIENDA VIRTUAL

Publicado por José María (4 intervenciones) el 16/12/2019 13:12:35
hey David muchas gracias ,ya me suma si escribo la solución exacta y desde ahora sere mas ordenado con el código para próximos ejercicios .gracias de nuevo por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar