Java - Muestra al usuario el código, el nombre y el precio de venta del artículo

 
Vista:

Muestra al usuario el código, el nombre y el precio de venta del artículo

Publicado por blueand (1 intervención) el 14/12/2015 11:04:01
Hola a tod@s, en primer lugar quiero dar las gracias por ayudar a resolver mi duda. En este ejercicio se me pide mostrar al sistema el código, el nombre y el precio de venta. Es programación orientada a objetos y se ha simulado la creación de unas compras donde yo tengo que organizar el sistema.

Aqui mis dudas;
Primera) dentro de una clase fecha como puedo mostroar la fecha del día siguiente, y por otro lado comprobar si es correcta, la primera me la ejecuta bien pero no se que error he cometido en (comprobar si es correcta"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static boolean EsCorrecta (Fecha f)
{
	if (Fecha){
		if ((d >= dia)&& (m >= mes)&& (y >= anio))
		{
			mifecha= d + "/" + m + "/" + y;
			EsCorrecta=true;
		}
		else
		{
			EsCorrecta=false;
		}
	}
	else
	{
		EsCorrecta=false;
	}
	return Fecha f;
}

Mi segunda duda viene en la clase articulo no me deja ejecutarlo;

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
import java.util.Scanner;
 
class Articulo
{
    // PROPIEDADES
    int codigo,stock,numDias;
    String nombre;
    double precio;
 
    //CONSTRUCTOR
    /**
     * Constructor de objetos de clase Articulo
     */
    Articulo(int codigoNuevo,int stockNuevo,int numDiasNuevo,
    String nombreNuevo,double precioNuevo)
    {
        this.codigo=codigoNuevo;
        this.stock=stockNuevo;
        this.numDias=numDiasNuevo;
        this.nombre=nombreNuevo;
        this.precio=precioNuevo;
    }
 
    //MÉTODOS
    Scanner in = new Scanner (System.in);
 
   // Muestra al usuario el código, el nombre y el precio de venta del artículo
   System.out.println(this.codigo);
   System.out.println (this.stock);
   System.out.println(this.numDias);
   System.out.println(this.nombre);
   System.out.println(this.precio);
 
}


¿que hago mal?
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 Jordi

Muestra al usuario el código, el nombre y el precio de venta del artículo

Publicado por Jordi (38 intervenciones) el 14/12/2015 17:25:23
Hola Blueand,

Duda 1

Primeramente, estás declarando una nueva función llamada "EsCorrecta" a la que le pasas un argumento de tipo "Fecha" al que llamaremos "f". Hasta ahí bien.

El problema número uno viene cuando intentas asignar un valor (true o false) a "EsCorrecta". No puedes hacerlo porque no se trata de una variable booleana. Por tanto, tienes que declarar una nuva variable.

Segundamente, tratas las variables "d", "m", "y" como si no estuvieran contenidas dentro de "f". Tienes que acceder a ellas como f.d, f.m y f.y.

Luego, haces un return de "Fecha f". Fecha es el tipo de variable, que nunca se utiliza más que para las declaraciones, que en este caso ya está hecha. En tal caso, deberías devolver la variable booleana que has estado manejando para ver si es true/


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static boolean EsCorrecta (Fecha f) {
	boolean correcta;
	// ¿Cuánto vale dia, mes y anio? Declararlas también.
	if (f && (f.d >= dia) && (f.m >= mes) && (f.y >= anio)){
		String mifecha = d + "/" + m + "/" + y; // Hay que declarar la variable
		correcta = true;
		// ó return true;
	}
	else {
		correcta = false;
		// ó return false;
	}
	return correcta;
}


Duda 2

En este otro caso, haces bien la declaración del constructor, pero en la ejecución del programa estás tratando de imprimir los atributos de un artículo que no existe porque no has creado.

1
2
3
4
5
6
7
8
9
10
11
12
13
Scanner in = new Scanner (System.in);
 
// Primero creas el artículo
Articulo miArticulo = new Articulo("codigo","stock","111","nombre","30€");
 
// Luego lo muestras
System.out.println(miArticulo.codigo);
System.out.println (miArticulo.stock);
System.out.println(miArticulo.numDias);
System.out.println(miArticulo.nombre);
System.out.println(miArticulo.precio);
 
}
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