Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
方法不可见帮助??JAVA_Java_Methods_Arraylist_Invisible - Fatal编程技术网

方法不可见帮助??JAVA

方法不可见帮助??JAVA,java,methods,arraylist,invisible,Java,Methods,Arraylist,Invisible,我对另一个类看不到的方法有一个问题,我无法理解。 我有一个购物篮类,它有一个商品列表(商品是一个类)。我正在尝试让Shopping_basket类中的商品列表到达商品类中的getItemCost方法。然而,我得到一个错误,该方法是不可见的。。。我不知道出了什么问题: public class Shopping_Basket { private List<Merchandise> basket; public List<Merchandise> getList

我对另一个类看不到的方法有一个问题,我无法理解。 我有一个购物篮类,它有一个商品列表(商品是一个类)。我正在尝试让Shopping_basket类中的商品列表到达商品类中的getItemCost方法。然而,我得到一个错误,该方法是不可见的。。。我不知道出了什么问题:

public class Shopping_Basket { 
   private List<Merchandise> basket;
   public List<Merchandise> getList() {
    return basket;
}

   public Shopping_Basket() {
    basket = new ArrayList<Merchandise>();
   }
   public double getTotalCost() {
    double j = 0; 
    for (int i = 0; i < this.getList().size(); i++){            
         j += basket.get(i).getItemCost();
    }
    return j;
}

因此,getTotalCost()方法中出现错误,并表示getItemCost()不可见。。。帮助?

我没有发现任何错误,这段代码应该可以编译,而且实际上可以在我的计算机上编译。
请尝试在IDE中清理您的项目,然后重新编译整个项目。

我没有发现任何错误,此代码应该编译,并且确实在我的计算机上编译。
请尝试在IDE中清理项目,然后重新编译整个项目。

类是正确的。该方法是公共的,因此是可见的。 可能是设置类路径或导入类的问题

public class Merchandise {
private String item_name;

private int item_cost;

public Merchandise(String name, int cost) {
    this.item_name = name;
    this.item_cost = cost;
}

public String getItemName() {
    return item_name;
}

public double getItemCost() {
    return item_cost;
}
}

导入java.util.List

公共类购物篮{ 私人名单篮

public List<Merchandise> getList() {
    return basket;
}

public Shopping_Basket() {
basket = new ArrayList<Merchandise>();
public List getList(){
回程篮;
}
公共购物篮(){
basket=newarraylist();
}

public-double-getTotalCost(){
双j=0;
for(int i=0;i

}课程是正确的。该方法是公共的,因此是可见的。 可能是设置类路径或导入类的问题

public class Merchandise {
private String item_name;

private int item_cost;

public Merchandise(String name, int cost) {
    this.item_name = name;
    this.item_cost = cost;
}

public String getItemName() {
    return item_name;
}

public double getItemCost() {
    return item_cost;
}
}

导入java.util.List

公共类购物篮{ 私人名单篮

public List<Merchandise> getList() {
    return basket;
}

public Shopping_Basket() {
basket = new ArrayList<Merchandise>();
public List getList(){
回程篮;
}
公共购物篮(){
basket=newarraylist();
}

public-double-getTotalCost(){
双j=0;
for(int i=0;i

}

您的代码很好,实际上编译和执行都很好。请参阅下面的内容,并交叉检查您是否做对了一切(我刚刚添加了一个
main()
方法来执行您的代码):

$cat>products.java
公共类商品{
私有字符串项目名称;
私人内部项目成本;
公共商品(字符串名称,整数成本){
this.item_name=名称;
本项目成本=成本;
}
公共字符串getItemName(){
返回项目名称;
}
公共双getItemCost(){
退货项目成本;
}
}
$cat>Shopping_Basket.java
导入java.util.ArrayList;
导入java.util.List;
公共类购物篮{
私人名单篮;
公共列表getList(){
回程篮;
}
公共购物篮(){
basket=newarraylist();
}
公共双getTotalCost(){
双j=0;
for(int i=0;i
所以,正如我所说的,正如你所看到的,代码是好的。对于编译器,至少要指出以下几点:

  • 商品
    中,
    项目成本
    是一个
    int
    ,但
    getItemCost()
    返回一个
    double
  • 类的名称应修改为类似于
    ShoppingBasket

您的代码很好,实际上编译和执行都很好。请参阅下面的内容,并交叉检查您是否做对了一切(我刚刚添加了一个
main()
方法来执行您的代码):

$cat>products.java
公共类商品{
私有字符串项目名称;
私人内部项目成本;
公共商品(字符串名称,整数成本){
this.item_name=名称;
本项目成本=成本;
}
公共字符串getItemName(){
返回项目名称;
}
公共双getItemCost(){
退货项目成本;
}
}
$cat>Shopping_Basket.java
导入java.util.ArrayList;
导入java.util.List;
公共类购物篮{
私人名单篮;
公共列表getList(){
回程篮;
}
公共购物篮(){
basket=newarraylist();
}
公共双getTotalCost(){
双j=0;
for(int i=0;i
所以,正如我所说,尽你所能
public double getTotalCost() {
    double j = 0;
    for (int i = 0; i < this.getList().size(); i++) {
        j += basket.get(i).getItemCost();
    }
    return j;
}

public void addMerchandise(Merchandise m){
    basket.add(m);
}

public static void main(String[] args) {
    Merchandise m1 = new Merchandise("prova", 11);
    Merchandise m2 = new Merchandise("prova2", 13);

    Shopping_Basket sb = new Shopping_Basket();

    sb.addMerchandise(m1);
    sb.addMerchandise(m2);

    System.out.println(sb.getTotalCost());
}
$ cat > Merchandise.java
public class Merchandise {

        private String item_name;

        private int item_cost;

        public Merchandise(String name, int cost) {
                this.item_name = name;
                this.item_cost = cost;
        }

        public String getItemName() {
                return item_name;
        }

        public double getItemCost() {
                return item_cost;
        }
}

$ cat > Shopping_Basket.java
import java.util.ArrayList;
import java.util.List;

public class Shopping_Basket {

        private List<Merchandise> basket;

        public List<Merchandise> getList() {
                return basket;
        }

        public Shopping_Basket() {
                basket = new ArrayList<Merchandise>();
        }

        public double getTotalCost() {
                double j = 0;
                for (int i = 0; i < this.getList().size(); i++) {
                        j += basket.get(i).getItemCost();
                }
                return j;
        }

        public static void main(String[] args) {
                Shopping_Basket sb = new Shopping_Basket();
                System.out.println(sb.getTotalCost());

        }

}

$ javac Shopping_Basket.java

$ java Shopping_Basket
0.0