Он лама creado un nuevo paquete que se классы DOS танго Coches y dentro de él las cuales contiene:
1º
package coches;
public class coche {
//Atributos
private char color;
private int matricula;
private char tamaño;
private char marca;
private double version;
//Métodos
public char color (char x){
color = x;
return x;
}
public char matricula (char y){
matricula = y;
return y;
}
public char marca (char z){
marca = z;
return z;
}
public double version (double a){
version = a;
return a;
}
}
2º Clase para el llamar al programa:
package coches;
public class programa {
public static void main(String[]args) {
//Llamo a la clase coche
coche q;
q = new coche();
//Ejecuto sus métodos
q.color(azul);
q.marca(Ford);
q.version(1,4);
q.tamaño(mediano);
}
}
Lo que quiero es que me devuelva 4 atributos del coche. La cosa es que no я funciona; никакая идея танго de cómo visualizar estos atributos.
Первое всего ты был бы должен привыкать капитализировать классы (Он программирует, он не программирует). Второе состоит в том, что это не очень хорошая практика, называть методы равно как переменные, толкает в ошибку.
Другая вещь, которую я вижу плохо, состоит в том, что все методы класса Машина определены, чтобы возвращать стоимость (char или double), но ему не дается это использование; они функционируют, как asignadores, ты был бы должен определять такой метод:
public void setColor (String color) {
this.color = color;
}
Также я не вижу, что ты определил строитель для объекта машину:
public Coche () {}
Стоимости double не определяется как 1,4 а-> 1.4d
Равного способа функционируй с float (или Float, если он может быть недействительным)-> 2.36f
Также ты определяешь цвет в волосы, без "" для стоимости переменной String.
package coches;
public class Coche {
//Atributos
private String color;
private int matricula;
private char tamaño;
public String marca;
private double version;
public Coche () {}
//Métodos
public void setColor (String color){
this.color = color;
}
public void setMatricula (int matricula){
this.matricula = matricula;
}
public void setMarca (String marca){
this.marca = marca;
}
public void setVersion (double version){
this.version = version;
}
public void setTamaño(char tamaño) {
this.tamaño = tamaño;
}
public String toString() {
if (marca == null) return "sin marca";
return this.marca;
}
}
Для призыва я оставляю тебе исправления на основании класса Машина, которая присоединила тебя.
package coches;
public class Programa {
public static void main(String[]args) {
//Llamo a la clase coche
Coche q = new Coche();
//Ejecuto sus métodos
q.setColor("azul");
q.setMarca("Ford");
q.setVersion(1.4d);
q.setTamaño('a');
q.setMatricula(1234);
System.out.println(q.toString());
}
}
У тебя есть проблема типов.
Параметры, которые они признают методами класса машины, - типа char (public char color (char x)
) и во время того, чтобы звонить в эти методы в классе, запрограммируй q.color(azul)
; ты перемещаешь string (который даже не правильно entrecomillado).
Для того, чтобы оно ты функционировало, как это у тебя есть, ты был бы должен звонить в метод, как ты это описал, таково, который я схватил: q.color('a')
перемещая char, и entrecomillado (они подают также двойные кавычки)
Рекомендации, чтобы заканчиваться:
Чтобы распределять стоимость в твои признаки, использует сеттер, например так:
public void setColor (String color){
this.color = color
}
И чтобы читать признак, используй getter, таким образом:
public String getColor (){
return color;
}
Имей в виду, что, для того, чтобы это функционировало правильно, у тебя должен будет быть признак цвет, признанный таким:
private String color;
Чтобы начинаться, ты должен привыкать назначать классом с нею 1-ый букву в Прописной букве, предотвращать специальные символы испанца как: ñ, á, и т.д. Итак, ты должен определять хорошо, что ты хочешь дать стоимость свойствам машины, потому что, как это понимаю я, у тебя должен быть класс такая Машина, которая:
public class Coche {
// Atributos
private String color;
private int matricula;
private String tamanio;
private String marca;
private double version;
// Métodos:
// Obtienes el color
public String getColor() {
return color;
}
// Cambias el valor.
public void setColor(String color) {
this.color = color;
}
public int getMatricula() {
return matricula;
}
public void setMatricula(int matricula) {
this.matricula = matricula;
}
public String getTamanio() {
return tamanio;
}
public void setTamanio(String tamaño) {
this.tamanio = tamaño;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public double getVersion() {
return version;
}
public void setVersion(double version) {
this.version = version;
}
}
И твой класс Main, который является Программой, давать стоимость, и потом видеть их. Ты попробовал давать стоимость слов числам, это не могут, и десятичные находятся в версии Inlgesa, следовательно, он используется "." и нет",". Общее количество, у тебя остается Main:
public class Programa {
public static void main(String[]args) {
//Llamo a la clase coche
Coche q;
q = new Coche();
// Das valores:
q.setColor("Azul");
q.setMarca("Ford");
q.setVersion(1.4);
q.setTamanio("Mediano");
// Imprimes valores que has dado:
System.out.println("Color: "+q.getColor());
System.out.println("Marca: "+q.getMarca());
System.out.println("Version: "+q.getVersion());
System.out.println("Tamaño: "+q.getTamanio());
}
}
q.tamaño(mediano)
(кроме того тебе не хватает метода tamaГ±o), он должен быть между кавычками таково, что: q.tamaño("mediano")
и то же самое с отметкой. public class coche {
//Atributos
private Color color;
private int matricula;
private String tamaño;
private String marca;
private double version;
//Métodos
public void setColor (Color x){
color = x;
}
public void setMatricula (int y){
matricula = y;
}
public void setMarca (Stringz){
marca = z;
}
public void setVersion (double a){
version = a;
}
public void setTamaño(String a){
version = a;
}
}
public class programa {
public static void main(String[]args) {
//Llamo a la clase coche
coche q;
q = new coche();
//Ejecuto sus métodos
q.setColor(Color.azul);
q.setMarca("Ford");
q.setVersion(1.4);
q.setTamaño("mediano");
}
}
Я дополняю немного ответов, которые дали тебе, так как они основываются в компонентах Java Beans.
Я предлагаю тебе следующие ссылки, которые приносят определение и правила, чтобы делать эти компоненты:
Это официальная документация: Writing Java Beans
И здесь находится объяснение на испанце: Введение в JavaBeans
Я надеюсь, что он тебе полезен.