- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Java 作业,要向程序中添加 throw/catch。一切正常,除了它应该捕获任何小于 0 或大于 20 的值,它会捕获 -1 及以下或 21 及以上,但它似乎将大于视为大于或等于
类(class):
public class Rectangle {
private double width;
private double height;
public Rectangle(double width, double height) {
setWidth(width);
setHeight(height);
}
public void setWidth(double width) {
if (width < 0 || width > 20) {
throw new IllegalArgumentException("Width is not in range");
}
this.width = width;
}
public void setHeight(double height) {
if (height < 0 || height > 20) {
throw new IllegalArgumentException("Height is not in range");
}
this.height = height;
}
public double getWidth() {
return width;
}
public double getHeight() {
return height;
}
public double calculatePerimeter() {
return 2 * (width + height);
}
public double calculateArea() {
return width * height;
}
}
测试类:
public class RectangleTest {
public static void main(String[] args) {
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(5, 5);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(25, 5);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(-5, 5);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(0, 5);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(5, 25);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(5, 0);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(5, -5);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
try {
System.out.println("Enter width and length: ");
Rectangle rectangle = new Rectangle(20,0);
System.out.println("Height: " + rectangle.getHeight());
System.out.println("Width: " + rectangle.getWidth());
System.out.println("Area: " + rectangle.calculateArea());
System.out.println("Perimeter: " + rectangle.calculatePerimeter());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
为什么它将 0 和 20 视为有效值?
最佳答案
根据您的代码:
if(width < 0 || width > 20)
表示如果宽度= 0:
width < 0 = false
width > 20 = false
if(false || false )
=> false 因为它是 OR 运算符。
如果您想检查 0 到 20 之间的值(含 0 和 20)。
您的条件应为(宽度 <= 0 ||宽度 >= 20)
如果您想专门检查 0 到 20 之间的值。
您的条件应为(宽度 < 0 || 宽度 > 20)
关于Java 类将大于视为大于或等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50146253/
我正在尝试使用 vlookup 在 Excel 中创建成绩册功能。我正在尝试匹配条件(>=92、>=90 等),但是我无法解决这个问题。 如何使用 vlookup寻找大于或等于引用的值? =VLOOK
我无法弄清楚如何在查询中进行“大于或等于”比较。 我有一个模型字段: invoicedate = db.Column(db.Date(), nullable=True, key='InvoiceDat
我正在运行针对一些数据编写的小型 Python 测试,得到了一些奇怪的结果。归结为: priceDiff = 219.92 - 219.52 if(priceDiff >= .40): prin
在 Kotlin when声明我可以做 in 2..4相当于 >= 2和 = 2 ?我尝试了无限范围:in 2.. ,但这似乎不是一回事。 我也试过只输入 >= 2 ,但也没有运气。 我如何在 kot
我试图了解 SHA-1 哈希函数中使用的内部机制。我还指的是 FIPS-180 标准。 设法编写一个实现能够返回对字符串“abc”进行哈希处理的准确结果。然而,我仍然直言不讳地解释如何解释 >= 56
我有一个 MySQL 照片表,并将它们的尺寸存储在单个 varchar 字段中,即。 “1024x768”。有没有办法选择大于或等于给定尺寸的照片,而无需修改表格来分别存储“高度”和“宽度”? 谢谢
什么是大于或等于的简单构造,其中相等部分仅基于 bool 参数应用。 一种直接的方式(Type(Java)Script): function isGreaterThanOrEqual(a: numbe
一般如何使用NEON比较指令? 这是一个案例,我想使用大于或等于指令? 目前我有一个, int x; ... ... ... if(x >= 0) { .... } 在 NEON 中,我想以同样的方式
这个问题已经有答案了: Floating point less-than-equal comparisons after addition and substraction (1 个回答) 已关闭 3
我有一个要求,我需要两个日期选择器来输入起始日期和截止日期。截止日期应该大于或等于起始日期(选择起始日期后,所有以前的日期都应该在第二个 Datepiker 中禁用)。也from date 和 tod
是否可以将约束设置为...例如: 小于或等于 100 但大于或等于 50 这样一来,在较小的设备上(我很难让 iPhone 3.5 英寸到 4.7 英寸的 View 看起来不错,因为它们都属于同一尺寸
我在这里错过了什么?这个剧本对我来说很合适。 但出于某种原因,当我向它发送邮政编码 02897(或任何应该是罗德岛的邮政编码)时,它返回新罕布什尔州。除了 Javascript 开发人员可能拥有的政治
我正在调查 smoothstep(edge0, edge1, x)功能。 docs如果 edge0 >= edge1,则表示结果未定义. 在 a shader有一行: smoothstep(radiu
http://msdn.microsoft.com/en-us/library/system.double.epsilon.aspx If you create a custom algorithm
(log n)^k = O(n)? For k greater or equal to 1. 我的教授在类里面向我们展示了这个陈述,但是我不确定时间复杂度为 O(n) 的函数意味着什么。即使是像 n^
Mysql表 Name | Amount ------------ name1 | 150 name1 | 90 name2 | 100 name2 | 110 name3 | 10 结
我是一名优秀的程序员,十分优秀!