这是我的代码:
public StyleRay(Point endpoint, int direction, String style)
{
if(endpoint == null || style == null)
throw new IllegalArgumentException("A point or string cannot be null");
else if(direction < 0 || direction > 359)
throw new IllegalArgumentException("The direction needs to be between 0 and 360");
else if(style != "dotted" || style != "dashed" || style != "double")
throw new IllegalArgumentException("The style needs to be double, dashed, or dotted");
else
{
this.endpoint = new Point(endpoint);
this.direction = direction;
this.style = new String(style);
}
}
以下是我的任务要求:
将接收端点(作为Point)和方向(作为int)的参数化构造函数 和样式(作为字符串)。如果收到的Point或收到的String为null,则 抛出新的IllegalArgumentException(&lt;“你的描述性字符串在这里”&gt;); 如果方向不在0到359(含)之间,那么 抛出新的IllegalArgumentException(&lt;“你的描述性字符串在这里”&gt;); 此外,如果收到的样式不等于“double”或“dashed”或“dotted”,那么 抛出新的IllegalArgumentException(&lt;“你的描述性字符串在这里”&gt;); 如果方向和样式都正常,则将数据初始化为Point,int和String 接收。在这种情况下,请确保使用深拷贝。
我知道我检查样式是虚线,虚线还是双重的部分有问题,因为当我评论它时,除了该部分外,一切都有效。现在它只是抛出IllegalArgumentExceptions。
我有一种感觉,这是一个非常简单的修复,我只是没有做正确的事情,但我是初学者,不知道我接下来应该尝试什么。
我最初尝试过,
else if(style.equals("dotted") == false) || etc, etc, etc)
但这也不起作用。
感谢任何帮助。
答案 0 :(得分:0)
试试这个:
if (!style.equals("dotted") && !style.equals("dashed") && !style.equals("double"))
throw new IllegalArgumentException("The style needs to be double, dashed, or dotted");