如何根据参数制作 getter return 东西?
How to make getter return something depending on the argument?
我正在编写代码来练习 getters 和 setter,我 运行 遇到以下情况:
我创建了 5 个产品并在 class 中将它们声明为私有。我希望我的 getter 到 return 基于方法接收的参数的产品名称。比如,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;
}
}
我认为 getter 的用法类似于 public String getProducts(p1);
,这会 return Mocha
。但是,当我编译代码时,它显示 cannot find symbol - symbol: variable product
。有人可以帮助我吗?
首先,您还没有在主 class 中声明任何 'product',所以当您声明 return this.product;
时,您会得到您所说的错误。
正如 Kayaman 所说,您应该学习一些有关 Java 变量的教程。
但是,您可以将其作为一个简单的简单教程来尝试:
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);
}
}
用法:
Products p=new Products();
System.out.println(p.getProductName("p2"));
控制台:
Latte
创建一个带有实例字段的 class Product
,然后使用一个列表,例如
喜欢:
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;
}
}
然后你可以像这样使用它:
List<Product> products = new Arraylist();
products.add(new Product(Type.Latte, 5));
顺便说一句,您可以从这里开始了解对象和 类 的基础知识:https://docs.oracle.com/javase/tutorial/java/javaOO/index.html
我正在编写代码来练习 getters 和 setter,我 运行 遇到以下情况:
我创建了 5 个产品并在 class 中将它们声明为私有。我希望我的 getter 到 return 基于方法接收的参数的产品名称。比如,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;
}
}
我认为 getter 的用法类似于 public String getProducts(p1);
,这会 return Mocha
。但是,当我编译代码时,它显示 cannot find symbol - symbol: variable product
。有人可以帮助我吗?
首先,您还没有在主 class 中声明任何 'product',所以当您声明 return this.product;
时,您会得到您所说的错误。
正如 Kayaman 所说,您应该学习一些有关 Java 变量的教程。
但是,您可以将其作为一个简单的简单教程来尝试:
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);
}
}
用法:
Products p=new Products();
System.out.println(p.getProductName("p2"));
控制台:
Latte
创建一个带有实例字段的 class Product
,然后使用一个列表,例如
喜欢:
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;
}
}
然后你可以像这样使用它:
List<Product> products = new Arraylist();
products.add(new Product(Type.Latte, 5));
顺便说一句,您可以从这里开始了解对象和 类 的基础知识:https://docs.oracle.com/javase/tutorial/java/javaOO/index.html