几个小问题基本问题

时间:2016-07-02 00:32:40

标签: java

*编辑。我最终得到了以下内容。

我得到了这段代码。

package lab2;
/**
* Model of a basketball for use in quality control simulations.
*/
public class Basketball 
/**
* Inflation status of this Basketball.
*/

private boolean isInflated;
/**
* Diameter of this Basketball.
*/
private double diameter;
/**
* Constructs an uninflated Basketball with the given diameter.
* @param givenDiameter 
*   the diameter for this Basketball
*/
public Basketball(double givenDiameter)
{
isInflated = false;
diameter = givenDiameter;
}

/**
* Returns the diameter of this Basketball.
* @return
*   diameter of this Basketball
*/
public double getDiameter()
{
return diameter;
}

/**
* Determines whether this Basketball can be dribbled.
* @return
*   true if the basketball is inflated, false otherwise
*/
public boolean isDribbleable()
{
// can be dribbled only if it is inflated
return isInflated;
}

/**
* Returns the circumference of this Basketball.
* @return
*   circumference of this Basketball
*/
public double getCircumference()
{
// PI times the diameter
double result = Math.PI * diameter;
return result;
}

/**
* Inflates this Basketball.
*/
public void inflate()
{
isInflated = true;
}
}

我做的唯一改变是将篮球课程改为

 public class Basketball extends java.lang.Object

然后我编写了以下代码并将其保存在与上面相同的文件夹中。

public class BasketballTest  {
public static void main (String[] args){

Basketball b;
b = new Basketball(4.0);
System.out.println(b.getDiameter());
}
}

第一个代码编译正常,但在编译第二个代码时,我得到以下错误。

BasketballTest.java:5: error: cannot access Basketball
Basketball b;
^
bad class file: .\Basketball.class
class file contains wrong class: lab2.Basketball
Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error

我希望有人帮助了解问题所在。我不是在上课,而是为了学习Java而做这个任务。 作业http://www.briannakayama.com/COMS227/Labs/Lab2/

的链接

由于

3 个答案:

答案 0 :(得分:0)

首先,很好地格式化代码。其次,我没有看到你的链接。最后,这些问题不是堆栈溢出,但无论如何我都会回答。

  1. 包基本上类似于存储类和其他文件的文件夹。项目是整个事情 - 包组。你对自己所拥有的一切都很好。

  2. 你没有说明这是什么样的错误....但我猜你可能没有上篮球课。或者把正确的构造者放在篮球课上。或者......我不知道。告诉我你的错误是什么。

  3. OH现在我明白了。 您可能希望将该文件放在与basketballTest类相同的文件夹中。如果不这样做,那将会给你一个错误。(因为compt不知道篮球是什么)或者你可以创建一个全新的类并只复制代码。

答案 1 :(得分:0)

1)将项目视为目录(例如:C Drive),将package打包为驱动器中的文件夹,将类视为.java文件。

2)。我不知道Basketball b;是什么意思,因为Basketball不是数据类型,并且在下面的行中你试图为它赋予浮点值。

可能你需要这样的东西,

public class BasketballTest
{
  double b;

  BasketballTest() //Constructor
  {
    this.b = 4.0;
  }

  void display(){System.out.println(b);}

  public static void main (String [] args){

      BasketballTest obj = new BasketballTest();
      obj.display();

  }
}

答案 2 :(得分:0)

那是因为你的文件夹里没有篮球课。检查文件夹位置和包装声明。 对于这个问题,我相信它希望你让变量'b'来执行方法来改变isInflated为true;我不确定你的作业链接。如果你知道你想做什么,我可以帮助你。