Tag: 数学

Java 1.5:数学公式解析器

你好我经常开发JTableModels,其中一些单元格必须包含一个简单的数学公式的结果。 这个公式可以有: 运算符(+, – ,*,/) 数字常数 其他单元格引用(包含数字) 参数(引用名称为“INTEREST_RATE”的数字) 我经常解决它制作一个小的计算器类,它解析公式,我定义的语法。 计算器类使用堆栈进行计算,语法总是使用波兰表示法。 但波兰语对我和我的用户来说都不自然。 所以我的问题是…… 是否有一个运行在1.5 jvm的lib并且可以处理我的requeriments并使用常规符号(带括号,我不知道这种符号样式的名称)的公式? PD它假设公式总是语法正确,我可以预处理不是常量的数字来提供它们的值

为什么Java的%运算符给出的结果与我的计算器的结果不同?

怎么来计算器-1 mod 26 = 25,但在C或Java -1 % 26 == -1 。 我需要一个像计算器一样解决它的程序。 这两者有区别吗?

将Math.sin(x)的结果转换为java中度数的结果

我想转换Math.sin(x) ,其中x在弧度中的结果将给出x作为度数而不是弧度。 我已经使用了普通方法和java内置的度和弧度之间的转换方法,但是我传递给Math.sin()方法的任何参数都被视为弧度,从而导致我的转换是徒劳的。 我希望输入一个sin输入,就像输入被处理为度数而不是像Math.sin()方法那样的弧度。

在保持尾随零的同时舍入双倍

这是我的函数舍入一个最多两位小数的数字,但当四舍五入的数字是1.50时,它似乎忽略了尾随零并且只返回1.5 public static double roundOff(double number) { double accuracy = 20; number = number * accuracy; number = Math.ceil(number); number = number / accuracy; return number; } 因此,如果我发送1.499,则返回1.5,因为我想要1.50

以30分钟(最近的半小时)递增:

以30为增量舍入整数的最有效方法(在Java中)是什么。 我的输出将是一个整数: 这是我的代码,它以整数forms返回分钟。 long different = endTime.getTime() – startTime.getTime(); int idiff = TimeUnit.MILLISECONDS.toMinutes(different) – TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(different)); 现在我想整理这个整数。 例如: 任何数字<= 30 =最多30个: 31到60之间的任何数字=最多60个 61到90之间的任何数字=最多90个 91到120之间的任何数字=最多120个 任何数字在121到150之间=最多150

为什么二次方程的根结果是NaN? (JAVA)

为什么写出来控制台中的根是NaN和NaN ? 我读过关于NaN的内容,但是我找不到合适的解决方案,我怎样才能修复错误…我已经尝试过将判别和根除掉,但是没有用。 有人可以帮助我,我需要重写的地方和内容吗? public static void main(String args[]) { Scanner sc = new Scanner(System.in); Pattern newlineOrSpace = Pattern.compile(System .getProperty(“line.separator”) + “|\\s”); sc.useDelimiter(newlineOrSpace); System.out.print(“Enter a, b, c: “); double a = sc.nextDouble(); double b = sc.nextDouble(); double c = sc.nextDouble(); // System.out.format(“a = %f, b = %f, c = %f”, a, b, c); double root1; […]

如何将浮点数转换为由字节分子和分母表示的最接近的分数?

如何编写一个给定浮点数的算法,并尝试使用分子和分母尽可能准确地表示,两者都限制在Java字节的范围内? 这样做的原因是I2C设备需要分子和分母,而给它一个浮点数是有意义的。 例如, 3.1415926535…将导致245/78 ,而不是314/100或22/7 。 在效率方面,这将在程序开始时调用三次,但之后根本不会。 所以慢速算法也不算太糟糕。

嵌套循环到数学模型中以计算操作次数

我正在读Sedgewick和Wayne的书“算法 – 第四版”,我必须承认“算法分析”一章中的某些部分让我感到困惑! 这可能是由于我缺乏数学知识……反正! 在本书的某处,有一个程序的例子,其中内循环被称为精确执行N(N-1)(N-2)/ 6次。 这里是: public static int count(int[] a) { int count = 0; for (int i = 0; i < a.length; i++) { for (int j = i + 1; i < a.length; j++) { for (int k = j + 1; k < a.length; k++) { if (a[i] + a[j] […]

在Java中查找多项式的根

我需要找到勒让德多项式的(近似的,数值的)解。 我尝试了几个Java库,但没有我想要的东西(最接近的是commons-math,它甚至有代码用于在Laguerre Solver中找到解决方案,但不公开该方法)。 有现成的解决方案还是我需要实现自己的解决方案?

Java:计算三角形的面积

import java.lang.Math; import java.awt.* public class Triangle implements Shape { java.awt.Point a; java.awt.Point b; java.awt.Point c; public Triangle(java.awt.Point a, java.awt.Point b, java.awt.Point c) { this.a = a; this.b = b; this.c = c; } public double getArea( ) { double area; return area = Math.abs((ac)*(ba)-(ab)*(ca)); } … http://sofzh.miximages.com/java/fe56529cdaaaa9bb2f71c1ad8a1a454f.png < – 面积公式 我试图从2D笛卡尔坐标系中计算3点(x,y)的三角形面积。 我假设我的上面的公式正确地产生了三角形的区域(如果没有,请纠正我),但我的编译器说“运算符 – 不能应用于java.awt.Point,java.awt.Point”。 […]