- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有这段代码,提示输入以空格分隔的三角形的两条边和斜边。如果三角形正确,则 main 下面的方法应该返回 true,否则返回 false。
出于某种原因,即使我知道我输入的测量值是直角三角形,它仍然会打印出三角形不是直角三角形。
我一直在尝试检测这段代码中的逻辑错误,有人可以帮忙/叫我出来吗?
import java.util.Scanner;
公共(public)类VerifyRightTriangle {
公共(public)静态无效主(字符串[] args){
扫描仪 sc = new Scanner(System.in);
System.out.print("Please enter the two sides and the hypotenuse: ");
String input = sc.nextLine();
String[] values = input.split(" ");
int[] nums = new int[values.length];
for (int i = 0; i < nums.length; i++) {
nums[i] = Integer.parseInt(values[i]);
}
double s1 = nums[0];
double s2 = nums[1];
double hyp = nums[2];
System.out.printf("Side 1: %.2f Side 2: %.2f Hypotenuse: %.2f\n", s1, s2, hyp);
boolean result = isRightTriangle(s1, s2, hyp);
if (result == true) {
System.out.println("The given triangle is a right triangle.");
} else if (result == false) {
System.out.println("The given triangle is not a right triangle.");
}
}
/**
* Determine if the triangle is a right triangle or not, given the shorter side, the longer
* side, and the hypotenuse (in that order), using the Pythagorean theorem.
* @param s1 the shorter side of the triangle
* @param s2 the longer side of the triangle
* @param hyp the hypotenuse of the triangle
* @return true if triangle is right, false if not
*/
private static boolean isRightTriangle(double s1, double s2, double hyp) {
double leftSide = s1 * s1 + s2 * s2;
double rightSide = hyp * hyp;
if (Math.sqrt(leftSide) == Math.sqrt(rightSide)) {
return true;
} else {
return false;
}
}
}
最佳答案
浮点计算不精确,这就是数字永远不匹配的原因,尝试使用 BigDecimal而不是双
编辑:再三考虑,因为您已经在解析整数nums[i] = Integer.parseInt(values[i]);
只需使用 int
代替 double
并且不要使用 Math.sqrt
,只需使用 leftSide==rightside
关于Java - 找不到逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12238012/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!