Hola KillerNemesis!
Antes que nada te pongo en conocimiento, que para publicar codigo en el foro, primero debes de dar clic sobre el botón con el símbolo #, dicho botón lo encuentras en la parte arriba de donde escribes tus ejercicios. Cuando des clic sobre este botón te aparecerán unas etiquetas similares a estas: "[cod][/cod]" luego en medio de esas etiquetas pegas el codigo de tu clase, un ejemplo seria algo asi:
[cod]public class AquiPegasTuCodigo...[/cod]
Por otra parte, en cuanto a tu ejercicio, has pegado un codigo de clase con fragmentos de codigo faltante, olvidaste pegar lo que seria el comienzo del codigo, algo así como:
public class DiscoMusical
{
private String titulo, autor, formato;
private int anoEdicion;
private boolean digital;
Si solo fue un descuido al copiar y pegar, supongo que tu clase cuenta con un fragmento de código como este que acabo de pegar, que de paso e usado para completar el código de tu clase e identificar lo posibles errores.
En respuesta a tu pregunta o duda
Pues tengo una duda que me tiene la cabeza echa un lio pues resulta que después de terminar el codigo e intentar compilarlo me envia un mensaje de error en apartado de CONSTRUCTOR "añoEdicion" en el cual me dice Incompatible Types
Este error de compilación hace referencia a que estas asignando un valor a una variable cuyo tipo de valor no coincide con el tipo de variable, debes de tener en cuenta que una variable recibe un valor de su tipo declarado, por ejemplo si declaro:
int edad = "10"; al intentar compilar, me saltara un error:
imcopatible types: java.lang.String cannot be converted to int. Lo que de manera explicita, significa que estoy intentando asignar un valor que no es el tipo de valor esperado para la variable edad.
Como corregirlo? asigando un valor cuyo tipo sea compatible con el tipo de la variable edad, si edad es tipo
int pues e de declarar
int edad = 10;
Donde estuvo el error? el error en el primer caso, tubo en que intente asignar un valor tipo String (cadena de texto) a la variable edad, que espera un valor tipo
int (numero entero).
No es lo mismo "10" que 10, todo lo que este entre "comillas dobles" sera un String, en tu código has inicializado todas las variables con un valor String, donde tienes variables que esperan como valor inicial un String ("cadena de texto entre comillas dobles"), otras un
int (numero entero) y otra un valor
boolean (
true o
false) .
En cuanto al constructor de la clase, lo correcto al inicializar variables en un constructor es asignar un valor inicial por defecto, un ejemplo de como inicializar las variables de esta clase en el constructor, de una forma favorable seria el siguiente:
public DiscoMusical ()
{
titulo = "Desconocido";
autor = "Desconocido";
anoEdicion = 0;
formato = "Desconocido";
digital = false;
} //Cierre del constructor
A si cada vez que crees un objeto de esta clase, cada objeto se creara con la finalidad de asignar un valor diferente (o igual) a cada una de sus variables, mediante su correspondiente metodo set.
Te recomiendo que analices lo que he intentado explicarte, y que rediseñes el código de tu ejercicio para que cumpla con lo que se pide en dicho ejercicio.
Cualquier duda no dudes en preguntar.
Saludos!