Java - Ayuda en aplicar canvios a un programa ya hecho con NETBENS

 
Vista:

Ayuda en aplicar canvios a un programa ya hecho con NETBENS

Publicado por xve (1 intervención) el 28/09/2018 09:51:34
Buenos días,

He empezado este año DAW, la semana pasada con el NetBeans 8.2 cree un programa, donde me indicaban las medidas de 2 piscinas, largo, ancho y profundidad, me pedían que realizaran cálculos, como el cálculo de las áreas, los volúmenes, las éreas de las dos piscinas juntas, sus volúmenes...el código que he creado es el siguiente:
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
/*
* EAC1 S_e2.
*/
package Setmana1;
 
/**
* @author bibianavillacastins
*/
public class S_e2 {
    public static void main(String[] args) {
         //Declarem amples i llarg
        int ample1,ample2,llarg1,llarg2,profunditat1,profunditat2;
        int ampleNou,llargNou,area1,area2,volum1,volum2;
        int areaNou,volumNou,aux:
        //valors
        llarg1 = 300:
        ample1 = 150;
        profunditat1 = 20;
        llarg2 = 300;
        ample2 = 80;
        profunditat2 = 35;
        //Calculem arees
        area1 = ample1 * llarg1
        area2 = ample2 * llarg2;
        //Calculem el volums
        volum1 = area1 * profunditat1;
        volum2 = area2 * profunditat2;
        //Mostrem arees i volums calculat
        System.out.println("Piscina 1. ample: "+ample1+" llarg:"+llarg1+" area: "+area1+" volum: "+volum1)
        System.out.println("Piscina 2. ample: "+ample2+" llarg:"+llarg2+" area: "+area2+" volum: "+volum2);
        //Calculem nou ample i llarg de les dues piscines juntees
        llargNou = llarg1;
        ampleNou = ample1+ample2;
        //Calculem volum d’aigua de les dues piscines juntes
        areaNou = ampleNou * llargNou;
        volumNou = volum1 + volum2;
        System.out.println("Nou espai ocupat. ample:"+ampleNou+ " llarg:"+llargNou+"rea:"+areaNou+"volum:"+volumNou);
        //Intercamviem profunditat de les dues piscines
        aux = profunditat1;
        profunditat1 = profunditat2;
        profunditat2 = aux;
        //Calculem i mostrem els nous volums
        volum1 = area1 * profunditat1;
        System.out.println("Volum de la piscina 1 després intercanvi: ");
        System.out.println("Ample: "+ample1+"llarg: "+llarg1+"profunditat:"+profunditat1+" volum:"+volum1);  volum2 = (int)(area2 * profunditat2);
        System.out.println("Volum de la piscina 2 després intercanvi: ");
       System.out.println("Ample: "+ample2+"llarg:"+llarg2+"profunditat:"+profunditat2+" volum:"+volum2);
 
    }
 
}

Ahora, me piden:
Sobre el programa hecho a la semana anterior, que implementa el cálculo de los datos sobre unas piscinas rectangulares, el cliente que nos lo había encargado nos pide algunos cambios:
1. Quiere que los tamaños de ancho, largo y profundidad puedan ser valores reales, por ejemplo, 5.6 o 1.8.
2. Aunque los valores de anchos, largos y profundidades pasen a ser valores reales, se quiere que los valores de las áreas y los volúmenes estén guardados sobre variables enteras.
3. Quiere que los datos de ancho y profundidad las introduzca el usuario. Hay el programa pida para cada piscina su ancho y profundidad y los guarde en las variables correspondientes.
4. Quiere que el valor de largo, que es el mismo para las dos piscinas, sea una constante, pues ha decidido que eso no quiere que cambie. El valor será siempre de 300,3.

Como realizo estos cambiios?

Muchas gracias
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en aplicar canvios a un programa ya hecho con NETBENS

Publicado por Kabuto (1381 intervenciones) el 29/09/2018 01:07:35
1. Quiere que los tamaños de ancho, largo y profundidad puedan ser valores reales, por ejemplo, 5.6 o 1.8.
2. Aunque los valores de anchos, largos y profundidades pasen a ser valores reales, se quiere que los valores de las áreas y los volúmenes estén guardados sobre variables enteras.

Las variables que vayan a guardar valores reales, es decir, números con decimales...hay que declararlas como de tipo double en lugar de int.
Ejemplo:
1
double ample1,ample2,llarg1,llarg2,profunditat1,profunditat2;

Por cierto, al usar valores de tipo double, a veces al mostrarlos en pantalla pueden salir números muy feos porque pueden llegar a salir un montón de decimales, tipo: 304.76767234324121
No te preocupes por esto, puede corregirse, pero ahora mejor centrarse en aprender cosas más importantes.


3. Quiere que los datos de ancho y profundidad las introduzca el usuario. Hay el programa pida para cada piscina su ancho y profundidad y los guarde en las variables correspondientes.
Para pedir datos al usuario, hay varias formas. La básica, la que suele usarse cuando se está empezando a programar, es usando la clase Scanner.
Has de instanciar un objeto de esta clase al principio del método main() poniéndole el nombre que tu quieras.
Por ejemplo:
1
2
3
4
5
public static void main(String[] args) {
         Scanner teclado = new Scanner(System.in);
         //Declarem amples i llarg
        int ample1,ample2,llarg1,llarg2,profunditat1,profunditat2;
        int ampleNou,llargNou,area1,area2,volum1,volum2;
Para que Java sepa que es la clase Scanner y como usarla, hay que "importarla" al principio del código.
Es posible que NetBeans lo haga el solito, pero si no, basta con que pongas esto:
1
2
3
4
5
6
7
package Setmana1;
 
import java.util.Scanner;
 
/**
* @author bibianavillacastins
*/

Con esto, ya puede usar tu objeto Scanner para que el usuario pueda introducir datos.
Por ejemplo, para pedir un valor para un ancho, de tipo double:
1
2
System.out.print("Introduzca el valor para el ancho: ");
ancho = teclado.nextDouble();

O si quisieramos pedir un valor de tipo entero:
1
2
System.out.print("Introduzca su edad: ");
edad = teclado.nextInt();

Por último, cuando el programa vaya a terminar y ya no se vaya a pedir más datos al usuario, conviene dar por cerrado al objeto Scanner de este modo:
1
teclado.close();
Se puede poner como última línea del programa.
No es obligatorio hacerlo, pero es probable que NetBeans te ponga un pequeño aviso si dejas el Scanner "abierto".

4. Quiere que el valor de largo, que es el mismo para las dos piscinas, sea una constante, pues ha decidido que eso no quiere que cambie. El valor será siempre de 300,3.

Para declarar una variable como "constante", es decir, su valor no podrá ser modificado durante la ejecución del programa, se usa la palabra reservada final en el momento de la declaración de la variable.

1
2
3
4
//Declarem amples i llarg
        double ample1,ample2,profunditat1,profunditat2;
        final double larg1 = 300.3;
        final double larg2 = 300.3;
Que por cierto no haría falta declarar dos variables para el largo de las piscinas, con declarar una ya es suficiente.

Pregunta cualquier duda que puedas tener, no te conformes con tener las respuestas. Asegurate de que la entiendes, y si no es así, pues pregunta por aquí lo que sea.

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
0
Comentar