BlueJ를 사용하여 Java로 클래스를 만들려고합니다. 내 수업 이름은 자동차입니다. 내 목표는 Constructor 메소드를 사용하여 연도, 색상, 브랜드, 문 개수, 킬로미터 수, 자동 (부울) 인 경우, 판매 된 경우 (부울), 설명 및 기타 변수를 사용하여 자동차를 생성하는 것입니다. 식별 번호. 모든 변수에는 설정된 기본값, 최소 및 최대 허용 값이 있습니다.Java의 게터, 세터 및 생성자 - 자동차 만들기 및 스타킹
내 메소드에 getVariablename 및 setVariablename을 사용해야합니다. 내 색상 및 브랜드 변수는 int이며, 클래스의 표에서 문자열 대응 항목을 검색하는 메소드를 만들었습니다.
내 문제는 내 변수를 한 가지 방법으로 설정하고 다른 변수로 가져 오는 원리를 이해하지 못하는 것입니다 (허용되는 값인지 확인하는 동안). 또한 Setter 및 Getter 메서드가 있으면 생성자 메서드를 만들 때 무엇을 적어야합니까? 나는이 목적을 위해 유효하게 세터의 예는
:
그래서 내 어려움에 거짓말 : 지금까지public class Automobile { private static final String[] COLORS = { "Other", "Noir", "Blanc", "Bleu Nuit", "Bleu Clair", "Vert Pomme", "Vert Bouteille", "Taupe", "Argent", "Sable"}; private static final String[] BRANDS = { "Autre", "Mazda", "Toyota", "Ford", "GM", "Hyunday", "BMW", "SAAB", "Honda"}; public static final int COLOR_DEF = 8; public static final int COLOR_MIN = 0; public static final int COLOR_MAX = COULEURS.length - 1; public static final int BRAND_DEF = 4; public static final int BRAND_MIN = 0; public static final int BRAND_MAX = MARQUES.length - 1; public static final double KILO_DEFAULT = 55000; public static final double KILO_MIN = 15000; public static final double KILO_MAX = 140000; public static final int TWO_DOORS = 2; public static final int FOUR_DOORS = 4; public static final int DOORS_DEFAULT = FOUR_DOORS; public static final boolean AUTO_DEF = true; public static final int YEAR_MIN = 1997; public static final int YEAR_MAX = 2016; public static final int YEAR_DEFAUT = 2007; public static final String COMM_DEFAUT = ""; public static String color (int cou) { String chainecolor = ""; if (cou >= COLOR_MIN && cou <= COLOR_MAX) { chainecolor = COLORS[cou]; } return chainecolor; } //This method is to return the String value of a color from its int value using the COLORS table. If invalid it returns an empty chain. public static String brand (int br) { String chainebrand = ""; if (ma >= BRAND_MIN && ma <= BRAND_MAX) { chainebrand = BRANDS[br]; } return chainebrand; } //same thing for the brand public Automobile (int brand, int year, int color, boolean automatic, double kilometers,int nbrDoors, String description, boolean sold){ //To be completed } //here i'm supposed to create getters that return int values for everything but automatic, sold and description public void setYear (int year) { if (year >= YEAR_MIN && YEAR <= YEAR_MAX) { year = year; } } // supposed to be the setter for my year, as long as it's within the accepted values public void setMarque (int brand){ if (brand >= BRAND_MIN && brand <= BRAND_MAX) { brand = brand; } } //same, for the brand public void setColor (int color) { if (color >= COLOR_MIN && color <= COLOR_MAX){ color = color; } }// same for the color public void setNbrDoors (int p) { if (p == TWO_DOORS || p == FOUR_DOORS){ p = p; } } // same for the door. I am forced to use (int p) as the variable for this method, which confuses me as to how I will refer to it from nbrDoors up in the Automobile constructor method } // Automobile
,이 있나요? p = p 또는 color = color ...의 필요성을 이해하지 못합니다.
setNbrDoors에서 변수 p를 가져 와서 값을 반환하고 가져올 수있는 getter 메서드를 어떻게 만들 수 있습니까? 자동차 생성자의 nbrDoors에 사용됩니까?
getters에서 값을 가져올 수 있도록 Constructor 메소드에서 작성해야하는 것은 무엇입니까?
이 두 번째 부분은 내가 다음 변수에 대한 입력 값을 모두 사용자에게 사용자가 작성하는 자동차를 재고하기 위해 테이블을 만들 수있는 약간의 코드를 작성해야합니다 모든 때문이다.
P.S. : 본래의 작품은 프랑스어로 작성되어 있으므로 귀하의 이해를 돕기 위해 변수와 메소드 이름을 번역했습니다. 또한, 변수 이름, 메소드 등이 모두 부과됩니다, 나는이 방법으로 클래스를 정확하게 만들려고합니다.
편집 : 따라서 브랜드 및 색상 변환을위한 정적 사용도 적용됩니다. 그 2 개의 메소드는, int 치로부터 캐릭터의 String를 돌려주는 것에 만 사용됩니다. 그들은 생성자에서 사용되지 않습니다. 마지막으로 예외는 별도의 유효성 검사 루프를 사용하여 작업의 두 번째 부분에서 처리됩니다. Automobile 클래스는 실제로 "car"객체의 생성을 처리하기 위해 실제로 사용됩니다.
그래서이를 사용해야합니다. 모든 세터에서. 이 변수에 대한 게터가 어떻게 생겼는지에 대한 예를 제공 할 수 있습니까? 또한 브랜드 및 색상 변환을위한 정적도 적용됩니다. 그 2 개의 메소드는, int 치로부터 캐릭터의 String를 돌려주는 것에 만 사용됩니다. 그들은 생성자에서 사용되지 않습니다. 마지막으로 예외는 별도의 유효성 검사 루프를 사용하여 작업의 두 번째 부분에서 처리됩니다. Automobile 클래스는 실제로 자동차를 만드는 용도로만 사용됩니다. (나는 이것을 내 게시물에 추가 할 것입니다.) –
위 코드를 getter로 업데이트했습니다. – developer
javaguy 정말 대단합니다. 추가 질문이 있습니다. 고유 한 각 자동차의 식별 번호가 될 변수를 만들어야하고 1에서 시작합니다 (첫 번째 자동차는 1, 두 번째 자동차는 2 등). 이후, 내가 만든 자동차를 복제 할 수있는 방법을 갖게 될 것이므로, 판매 및 식별 변수를 제외한 모든 동일한 속성을 가진 새 자동차를 만드십시오. 왜냐하면 매번 새로운 값을 생성 할 때마다 모든 변수의 값을 복사하는 방법은 어떨까요? 감사합니다 –