2017-10-18 3 views
-6

getter 및 setter 연습을위한 코드를 작성 중이므로 다음 상황에 직면했습니다.인수에 따라 getter를 반환하는 방법은 무엇입니까?

5 개 제품을 만들고 비공개 클래스로 선언했습니다. 나는 getter가 메서드가받는 인수를 기반으로 제품의 이름을 반환하기를 원합니다. 마찬가지로, public String getProduct(String product) {}. 내가 생각 무엇

class Products { 
    private String p1 = "Mocha", p2 = "Latte", p3 = "Cappuccino", p4 = "Frappuccino", p5 = "Cafe au Lait"; 
    private int priceP1 = 8, priceP2 = 5, priceP3 = 10, priceP4 = 13, priceP5 = 3; 

    public String getProduct(String product) { 
     return this.product; 

    } 

} 

Mocha을 반환 public String getProducts(p1);처럼 사용되는 게터이었다 다음과 같이 지금까지 내가 작성했습니다. 그러나 코드를 컴파일하면 cannot find symbol - symbol: variable product이라고 표시됩니다. 누군가 나를 도울 수 있습니까?

+6

오 사랑하는 : Btw는

List<Product> products = new Arraylist(); products.add(new Product(Type.Latte, 5)); 

, 당신은 객체와 클래스의 기초를 얻기 위해 여기 시작할 수 있습니다. 그것이 어떻게 작동하는지 전혀 아닙니다. 하나의 아이템에 대한 이름과 가격을 포함하는'Product' 클래스를 가져야합니다. 변수를 모두 포함하는'Products' 클래스와 변수가 어떻게 오해했기 때문에 작동하지 않는 franken-getter가 아닙니다 Java에서 사용됩니다. 가서 [일부 자습서] (https://docs.oracle.com/javase/tutorial/)를 읽으십시오. – Kayaman

+0

@ Kayaman이 말한 것과 심볼을 찾을 수없는 것에 대해; 'product'는 어디에도 선언되어 있지 않습니다. –

+0

감사합니다. 그럴거야. –

답변

-1

우선, 주류에서 '제품'을 선언하지 않으므로 return this.product;하면 오류가 발생합니다. Kayaman이 말했듯이 Java 변수에 대한 자습서를 배워야합니다. 인스턴스 필드에 클래스 Product 만들기

Latte 
0

다음 목록을 사용

public static class Products { 
     HashMap<String, String> productList = new HashMap<String, String>(); 

     public Products() { 
      productList.put("p1", "Mocha"); 
      productList.put("p2","Latte"); 
     } 

     public String getProductName(String productID){ 
      return productList.get(productID); 
     } 
    } 

Ussage :

Products p=new Products(); 
System.out.println(p.getProductName("p2")); 

콘솔 , 당신은 간단한 간단한 튜토리얼로 이것을 시도 할 수 있습니다 예 처럼 :

public class Product { 
    private Type type; 
    private int price; 

    public Product(Type type, int price) { 
     this.type = type; 
     this.price = price; 
    } 

    public Type getType() { 
     return type; 
    } 

    public int getPrice() { 
     return price; 
    } 

    public enum Type { 
     Mocca, Latte, Cappuccino; 
    } 
} 

그때 당신이 원하는 사용할 수 있습니다 https://docs.oracle.com/javase/tutorial/java/javaOO/index.html