gpt4 book ai didi

java - 在 Java 中创建新对象并将其传递给 setMethod 的问题

转载 作者:行者123 更新时间:2023-12-01 15:29:40 25 4
gpt4 key购买 nike

我尝试使用传入的参数创建一个新对象,然后使用该新对象放置在下面列出的 setCarColor 方法中。但是我的构造函数中的 setCarColor 为我的 clv 变量提供了错误。它说“找不到符号”。 clv 是 CarColor 类中的变量。我不确定是否是因为传入的参数(rdIn,grnIn,bluIn)是整数还是什么?请问有人有什么想法吗?

最诚挚的问候,

public abstract class Vehicle 
{
private String shapeId;
CarColor carColor;//CarColor data member from the ColorValue.java class


public Shape(String bodyid, int rd, int grn, int ble)
{
CarColor clv = new CarColor(rdIn, grnIn, bluIn);
setCarColor(clv(rd, grn, ble));// <---error here
}

private CarColor getCarColor()
{
return carColor;
}

private void setCarColor(int redIn, int blueIn, int greenIn)
{
if (redIn == 0 || blueIn == 0 || greenIn == 0 )
{
System.out.println("The value entered in is null. Please try again ");
System.exit(-1);
}

}

最佳答案

这条线几乎很好:

ColorValue clv = new ColorValue(rdIn, grnIn, bluIn);

...虽然它没有填充colorValue字段,这正是您所期望的,并且您实际上没有rdIn grnInbluIn 变量。您是指 rdgrnble 吗? (顺便说一句,如果您使用这样的缩写名称,这会有所帮助。)

但是这条线有两种断裂方式:

setColorValue(clv(rd, grn, ble));

首先,它尝试调用一个名为 clv方法。你没有这样的方法。您有一个名为 clv变量,但您不“调用”变量。

第二个问题是,如果你真的是这个意思:

setColorValue(clv);

那么您将使用不正确的参数 - setColorValue 没有一个 ColorValue 类型的参数,它具有三个参数,全部为 int >s.

不幸的是,目前尚不清楚您尝试做什么,因此很难为您提供建议。 也许你的意思是这样的:

public abstract class Geometry 
{
private String shapeId;
private ColorValue colorValue;

public Shape(String shapeId, int red, int green, int blue)
{
this.shapeId = shapeId;
setColorValue(red, green, blue);
}

public ColorValue getColorValue()
{
return colorValue;
}

// Note the consistent order of the parameters - always red, green, blue.
public void setColorValue(int red, int green, blue)
{
// Don't use System.exit() in the middle of a method! An exception
// is the idiomatic way of reporting bad arguments.
if (red == 0 || blue == 0 || green == 0)
{
throw new IllegalArgumentException("red green and blue must be non-zero");
}
colorValue = new ColorValue(red, green, blue);
}
}

关于java - 在 Java 中创建新对象并将其传递给 setMethod 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9710988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com