- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个方法:
public double Calculouno(double x1,double x2,double y1,double y2)
{
double ecuacion1;
ecuacion1= (x2-x1)+(y2-y1);
ecuacion1= Math.sqrt(ecuacion1);
return ecuacion1;
}
当我的程序尝试使用数学函数(例如 pow
和 sqrt
)(至少我怀疑是这样)计算 ecuacion1 时,如果没有编译器,它就会停止工作警告并显示“构建成功”。请帮忙。
当我到达这部分(方法)时,编译器会说“构建成功”,然后就结束了。在这一部分之前我的程序运行良好。
这是完整的源代码。
import java.util.Scanner;
import java.lang.Math;
public class Ejercicio12
{
public static void main(String args[])
{
double[] x= new double[3];
double[] y= new double[3];
double a,b,c;
int con=0, con2=0;
double[] angulo= new double[3];
Scanner entrada = new Scanner(System.in);
Calculos cal= new Calculos();
for(con=0;con<3;con++)
{
System.out.println("Ingrese un valor x para el punto "+(con+1)+": ");
x[con]= entrada.nextDouble();
System.out.println("Ingrese un valor y para el punto "+(con+1)+": ");
y[con]= entrada.nextDouble();
}
a= cal.Calculouno(x[0],x[1],y[0],y[1]);
b= cal.Calculouno(x[1],x[2],y[1],y[2]);
c= cal.Calculouno(x[2],x[0],y[2],y[0]);
angulo[0]= cal.Angulo(a,b,c);
angulo[1]= cal.Angulo(c,a,b);
angulo[2]= cal.Angulo(b,a,c);
if(angulo[0]>90||angulo[1]>90||angulo[2]>90)
{
System.out.println("El triangulo es obtusangulo");
}
else
{
if(angulo[0]==90||angulo[1]==90||angulo[2]==90)
{
System.out.println("El triangulo es rectangulo");
}
else
{
if(angulo[0]<90&&angulo[1]<90&&angulo[2]<90)
{
System.out.println("El triangulo es acutangulo");
}
}
}
}
}
import static java.lang.Math.sqrt;
import static java.lang.Math.pow;
import static java.lang.Math.acos;
public class Calculos
{
public double Calculouno(double x1,double x2,double y1,double y2)
{
double ecuacion1;
double dx= (x2-x1);
double dy= (y2-y1);
return Math.sqrt(dy+dx);
}
public double Angulo(double a1,double b1, double c1)
{
double ecuacion2;
double a11 = pow(a1,2);
double b11 = pow(b1,2);
double c11 = pow(c1,1);
double xx=(b11+c11-a11);
double zz=(2*b1*c1);
return Math.acos(xx/zz);
}
}
最佳答案
您的代码片段中的代码中没有任何内容会(直接)导致程序“在没有警告的情况下停止”。
不存在会导致构建失败的语法错误(等等)。 (这与您报告的内容相符。)
向 Math.sqrt
提供“错误”输入不会导致其停止,甚至引发异常。 javadoc 说:“[返回] a 的正平方根。如果参数为 NaN 或小于零,则结果为 NaN。” 即错误的输入会给您一个 NaN
值。
错误的输入不会导致 sqrt
调用之前的算术抛出异常。 JLS 表示(对于浮点 +
和 -
运算符)“[i]如果任一操作数为 NaN,则结果为 NaN。”
因此应用程序停止的直接原因一定是应用程序中的其他地方。
我预计正在发生的情况是,当您的代码的其他部分从此方法获得意外结果(可能是 NaN)时,它会抛出异常...并且您的应用程序正在压缩异常(exception)。
<小时/>我现在明白了问题所在。
发生的情况是算术和/或对 sqrt
和 pow
>> 的调用<<生成 NaN 值。当您使用任何关系运算符测试 NaN 值时,表达式的结果始终为假。因此,这意味着您的代码不会进行任何 println
调用。
您的代码实际上并未停止。相反,它正常完成而不产生任何输出。
计算产生 NaN 值的根本原因是......正如 @duffymo 所指出的......你错误地实现了几何公式。
<小时/>郑重声明,NaN 值在关系表达式中使用时具有特殊的行为。例如:
double x = 0.0 / 0.0; // generate a NaN
System.out.println(0.0 == x);
System.out.println(0.0 != x);
System.out.println(0.0 < x);
System.out.println(0.0 > x);
System.out.println(x == x);
System.out.println(x != x);
System.out.println(x < x);
System.out.println(x > x);
以上所有内容都将打印“false”。是的,全部!
测试 NaN 的唯一方法是使用 Double.isNaN(double)
或 Float.isNaN(float)
。
关于Java 程序在没有警告的情况下停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335911/
我正在使用 Tkinter 在 python 上写一个小游戏(顺便说一下,我不允许使用任何其他非内置模块)并且我想在主窗口上播放背景歌曲,这是那个包含标题,以及转到其他窗口和内容的按钮... 所以问题
我有一个 Azure WebJob,它在一个非常简单的应用服务标准:1 Small(计划)上运行。 现在,我的 WebJob(有 5 个函数正在运行)出现问题 - 我想停止 5 个正在运行的函数中的
我在 MacOS Lion 上使用 XCode 4.2。在模拟器中调试 iPhone/iPad 应用程序时,我使用 XCode 工具栏上的“停止”按钮(产品 | 停止)退出应用程序。在此之后,XCod
我刚刚下载了android开放源代码项目,并尝试使用make来构建它,我收到了以下消息: build/core/prebuilt.mk:91: *** recipe commences before
我以前从未制作过 makefile,但我们已经收到了这个,但是,如果我尝试运行它,它只会说, missing separator. stop. 我不知道可能出了什么问题 - 我已经确保空格只按制表符。
好吧,这段代码非常基本。用户将答案输入文本框,如果等于“第一+第二”,他们就得到一分。然后,他们有 5 秒钟的时间回答下一个数学问题。如果他们这样做了,函数“doCalculation”将再次运行,他
我在 viewController 中有一个循环动画 - (void)moveAnimating { [UIView animateWithDuration:2.0f animations:^
当我有一个待处理的 ASIFormDataRequest(作为异步任务启动)仍在执行并且用户按下后退按钮(为了弹出 View )时,我的 viewController 出现问题。 有什么方法可以停止该
我们正在使用 flashdevelop 和 flash CS 3 开发基于 flash 的游戏。我们正在使用 flash CS3 发布 swc,swc 将作为库在 flashdevlop 中使用。 一
我在线程中有一个连接,因此我将其添加到运行循环中以获取所有数据: [[NSRunLoop currentRunLoop] run]; [connection scheduleInRunLoop
你好,我做了一个 php 套接字服务器来从 plc 获取数据,plc 被配置为 tcp 套接字客户端。 我有一个严重的问题,如果本地网络出现故障,似乎功能 socket_accept 停止,plc 无
这个问题已经有答案了: How to stop a setTimeout loop? (10 个回答) 已关闭 8 年前。 请帮助获得正确的函数或方法来停止 setTimeout 函数。 我一直在尝试
我正在运行一个多项目SBT(v0.13)构建,并且希望它在子项目中遇到的第一个错误(编译)时快速失败(停止)。 当前的行为是,当某项无法在子项目中进行编译时,构建将继续(以编译所有其他子项目)。 一旦
我有播放.wav文件中声音的代码,但是我无法停止播放歌曲,甚至无法退出程序直到播放结束。因为这是一首5分钟的歌曲,所以这是一个问题。这是我如何播放wav的代码: public class EasySo
我正在寻找一种解决方案,该如何控制从JSF应用程序播放音频文件。 我不需要完整的解决方案,只需引用我可以用来控制播放音频文件(开始/停止/更改声音)的组件即可。 我尝试搜索过去的问题,但没有成功。 我
我已经在test.ps1中编写了以下函数,在运行该脚本以启动/停止/ ..时我想做一个选择: function getState($SeviceName) { $server = @('hos
我必须设置一个 10 分钟的计时器,它会重定向到主屏幕。此外,它必须在每个操作(例如按下按钮)时重置。我找到了这个计时器:https://github.com/fengyuanchen/vue-cou
我正在制作一个聊天应用程序,功能之一就是发送声音。发送的HTML如下: LOL Stop Play 第一次发送时,“自动播放”效果很好。因此,现在我
我基本上希望页面能够接受用户输入的时间(以秒为单位)。 之后我希望当用户按下“开始”按钮时开始倒计时按下暂停按钮时“暂停”。还有一个重置按钮,以便用户可以从头开始倒计时。 这是我到目前为止得到的:
我需要停止 $.each 循环,加载图像,然后继续循环。我有 Canvas ,可以在其中加载对象图像。对象以正确的顺序排列在数组中。现在,当我尝试从数组加载对象时,存在一个问题:由于尺寸不同,并且它们
我是一名优秀的程序员,十分优秀!