Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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_Class_Tostring_Setvalue - Fatal编程技术网

创建自定义类!JAVA

创建自定义类!JAVA,java,class,tostring,setvalue,Java,Class,Tostring,Setvalue,我是Java新手,正在做作业。我应该创建我自己的类“圆柱体”,并从中调用方法,以便能够打印出半径和高度,然后更改并再次打印。我让它打印cylinder1和cylinder1的设置值。setRadius/setHeight..我的问题是我必须让它打印类似于Cylinder Radius:和Height:…但当它打印时,我得到的是3.04.0或任何设置…我花了很长时间试图解决这个问题,请提供任何帮助 public class Funtimes{ public static void main(

我是Java新手,正在做作业。我应该创建我自己的类“圆柱体”,并从中调用方法,以便能够打印出半径和高度,然后更改并再次打印。我让它打印cylinder1和cylinder1的设置值。setRadius/setHeight..我的问题是我必须让它打印类似于Cylinder Radius:和Height:…但当它打印时,我得到的是3.04.0或任何设置…我花了很长时间试图解决这个问题,请提供任何帮助

public class Funtimes{

  public static void main(String[] args){
    Cylinder cylinder1= new Cylinder(1,2);
    System.out.println(cylinder1);

    cylinder1.setRadius(3);
    cylinder1.setHeight(4);
    System.out.println(cylinder1);
  }}

class Cylinder
{
  private double radius, height, area, volume;

  public Cylinder(double height, double radius){
    this.radius = radius;
    this.height=height;
  }

  public double getRadius() {
    return radius;
  }

  public double getHeight() {
    return height;
  }

  public double getArea() {
    double area = (2 * Math.PI * radius * height) + (2 * Math.PI * Math.pow(radius, 2));
    return area;
  }

  public void setRadius(double r) {
    radius = r;
  }

  public void setHeight(double h) {
    height = h;
  }

  public double calcVolume() {
    double volume = Math.PI * Math.pow(radius, 2) * height;
    return volume;
  }

  public String toString (){
    StringBuilder StBuild = new StringBuilder();
    StBuild.append(radius).append(height);
    return StBuild.toString();        
  }

  public static void main(String[] args) {
    Cylinder cylinder1 = new Cylinder(5, 5);
    System.out.println(cylinder1);
  }

}
使用
StBuild.append(“半径”).append(半径).append(“高度”).append(高度)
使用
StBuild.append(“半径”).append(半径).append(“高度”).append(高度)
修改
toString()

修改您的
toString()


按如下方式编辑toString方法:

public String toString (){
    StringBuilder stBuild = new StringBuilder();
    stBuild.append("Cylinder Radius:");
    stBuild.append(radius);
    stBuild.append(" and Height:");
    stBuild.append(height);
    return StBuild.toString();        
}

按如下方式编辑toString方法:

public String toString (){
    StringBuilder stBuild = new StringBuilder();
    stBuild.append("Cylinder Radius:");
    stBuild.append(radius);
    stBuild.append(" and Height:");
    stBuild.append(height);
    return StBuild.toString();        
}

您可以将
toString
方法更改为类似以下内容

   public String toString(){
      return "Cylinder Radius" + this.radius + " Height" + this.height;
   }

在本例中,您将半径值和高度值附加在一个字符串中,这就是您得到响应的原因。

您可以将
toString
方法更改为类似以下内容

   public String toString(){
      return "Cylinder Radius" + this.radius + " Height" + this.height;
   }
StBuild.append("Radius: ").append(radius);
StBuild.append("Height: ").append(height);
在本例中,您将半径和高度值附加在一个字符串中,这就是您得到响应的原因。

您可以使用一行1生成格式化的
字符串

StBuild.append("Radius: ").append(radius);
StBuild.append("Height: ").append(height);
您可以使用
StringBuilder
方法执行类似的操作(但在我看来,这有点难读,所以我不会把它变成一行代码)。大概

@Override
public String toString() {
    StringBuilder StBuild = new StringBuilder();
    StBuild.append("Cylinder Radius: ").append(radius)
            .append(" Height: ").append(height);
    return StBuild.toString();
}
1我建议您始终使用
Override
注释,当您的方法打算从超类重写某些内容时(但不是这样),它可以为您节省数小时的麻烦。

您可以使用一行1生成格式化的
字符串

您可以使用
StringBuilder
方法执行类似的操作(但在我看来,这有点难读,所以我不会把它变成一行代码)。大概

@Override
public String toString() {
    StringBuilder StBuild = new StringBuilder();
    StBuild.append("Cylinder Radius: ").append(radius)
            .append(" Height: ").append(height);
    return StBuild.toString();
}

1我建议您始终使用
Override
注释,当您的方法打算从超类重写某些内容时(但没有),它可以为您节省数小时的挫折感。

它到底打印出什么,以及您希望打印出什么?除了在字符串生成器中添加半径和高度,追加要打印的文本:
append(“radius:”)
。还请了解Java命名约定,并尊重它们。变量以小写字母开头。体积和面积不应声明为字段。不要在标题中添加已解决的内容,请接受答案,而不是可能重复的打印内容,以及您希望打印的内容。好的,除了将半径和高度附加到字符串生成器中外,还应附加要打印的文本:
附加(“半径”)
。还请了解Java命名约定,并尊重它们。变量以小写字母开头。体积和面积不应声明为字段。不要在标题中添加已解决的问题,请接受答案,而不是可能的副本