用java编写数组最小公倍数_[求助]Java编的求最小公倍数的程序,老是不对。。。调试了无数次了,请达人指教。。...
[求助]Java编的求最小公倍数的程序,老是不对。。。调试了无数次了,请达人指教。。
//根据老师的要求,用这种算法求最小公倍数。总是有错
import javax.swing.JOptionPane;
public class LCM {
/** Main methed */
public static void main(String[] args) {
// Prompt user input the two numbers
String oneString = JOptionPane.showInputDialog(null,
"Please input the first number:", "Input",
JOptionPane.INFORMATION_MESSAGE);
String twoString = JOptionPane.showInputDialog(null,
"Please input the second number:", "Input",
JOptionPane.INFORMATION_MESSAGE);
// Convert the two strings into int value
double oneDouble = Double.parseDouble(oneString);
double twoDouble = Double.parseDouble(twoString);
double twoNumbersLcm; // 定义的这个字段用来存放最后的结果,也就是两个数的最小公倍数
twoNumbersLcm = lcm(oneDouble, twoDouble);
JOptionPane.showMessageDialog(null, "The lease common multiple is "
+ twoNumbersLcm, "Answer", JOptionPane.INFORMATION_MESSAGE);
}
// 求最小公倍数
public static double lcm(double one, double two) {
double[][] ones = new double[10][2];
double[][] twos = new double[10][2];
double commonMultiple = 1;
divide(ones, one);
divide(twos, two);
commonMultiple = multiple(ones, twos);
return commonMultiple;
}
// 求因子,并将得到的因子和出现的次数存到二维数组中
public static void divide(double array[][], double dividend) {
int i = 0;
double divisor = 2.0;
do {
while (dividend % divisor == 0) {
array[i][0] = divisor;
array[i][1]++;
dividend = dividend / divisor;
}
i++;
divisor++;
} while (dividend != 1);
}
//
public static double multiple(double arrayOne[][], double arrayTwo[][]) {
int i = 0;
double power = 1;
// 去次数较大的因子相乘,得到最小公倍数
while (i<=arrayOne.length || i<=arrayTwo.length) {
if (arrayOne[i][0] == arrayTwo[i][0]) {
if (arrayOne[i][1] >= arrayTwo[i][1])
power *= Math.pow(arrayOne[i][0], arrayOne[i][1]);
else
power *= Math.pow(arrayTwo[i][0], arrayTwo[i][1]);
} else
power = Math.pow(arrayOne[i][0], arrayOne[i][1])
* Math.pow(arrayTwo[i][0], arrayTwo[i][1]);
i++;
}
if (arrayOne[i][0] != 0)
power *= Math.pow(arrayOne[i][0], arrayOne[i][1]);
else
power *= Math.pow(arrayTwo[i][0], arrayTwo[i][1]);
return power;
}
}
用java编写数组最小公倍数_[求助]Java编的求最小公倍数的程序,老是不对。。。调试了无数次了,请达人指教。。...相关推荐
- java定义数组长度_在JAVA中定义数组时,可不可以一开始不设定数组的长度?
定义时当然可以:例如 int[] a; 但是要把它初始化成为一个真正意义上的数组就必须设定长度: int [] a = new int[10]; 这时就只能改变数组里的数值而不能改变它的长度了. Ja ...
- java编写k线_用Java绘制K线 (转)
---- Java语言中的Applet(Java小程序)和Application(Java应用程序)是在结构和功能上都存在很大差异的两种不同的编程方式.Applet应用于Web页上,可做出多姿多彩的页 ...
- java继承数组实例_【Java】理解封装、继承、多态和对象数组的综合实例(简易的租车系统,附代码)...
一.Drive.java(汽车类 - 父类) package Z_CarManger; import java.io.ObjectInputStream.GetField; public abstra ...
- java编写k线_用Java绘制K线图
[IT168技术文档] Java语言中的Applet(Java小程序)和Application(Java应用程序)是在结构和功能上都存在很大差异的两种不同的编程方式.Applet应用于Web页上,可做 ...
- java编写k线_用Java绘制K线
Java语言中的Applet(Java小程序)和Application(Java应用程序)是在结构和功能上都存在很大差异的两种不同的编程方式.Applet应用于Web页上,可做出多姿多彩的页面特效,给 ...
- java 叉号关闭_求助 java 如何编写JFrame窗体右上角红色打叉关闭按钮的事件?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impo ...
- java与数据库教程_[求助]Java与数据库的链接的教程or资料
展开全部 JAVA连接数据库e68a843231313335323631343130323136353331333239303864主要有两种方式: 一是用JDBC-ODBC桥来连接 二是用相关厂商提 ...
- java编写视频播放器_基于Java的视频播放器可以足够快吗?
第三次谷歌搜索"视频播放java"似乎相关: http://blog.pirelenito.org/2008/08/java-movie-playback-jogl-fobs4jm ...
- java编写数字金字塔_在java中的数字金字塔 (numbers pyramid in java)
最佳答案 英文原文 It might be a bit simpler to write and read if you make a separate method to print each li ...
- java动态分配数组大小_关于java:如何动态增加2D数组的大小
如果我知道我有多少个元素,我已经知道如何创建一个固定数组.例如,对于7个元素,我做了一些类似于int数组[2][4]的事情. 但是,如果我在开始时有0个元素(这意味着数组在开始时是空的),并且希望随着 ...
最新文章
- exchange2003如何恢复邮件
- 如何用 Serverless 让 SaaS 获得更灵活的租户隔离、更优的资源开销
- 大数据实训记录(一)
- Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
- 树的先序遍历的栈实现
- java中判断字段真实长度(中文2个字符,英文1个字符)的方法
- 12.15模拟:总结
- jaxb xml配置_JAXB和Log4j XML配置文件
- 亲测!这本 Python 书销量超过13W+原来是这样
- 13、三维图绘制及添加文本
- 求最大公约数欧几里得算法
- 模拟退火算法及MATLAB代码
- ant-design-vue 的颜色选择器
- 服务器重装系统之DELL
- word计算机板书,Word板书设计怎么写
- Stata Journal 2001-2019年全部期刊目录及下载链接
- RS-485 工作逻辑
- iOS22 地图定位- 苹果自带地图
- 【最新】2020年注册测绘师考试测绘综合能力真题及参考答案
- linux内存相关命令汇总
热门文章
- Visio2013里面的大括号
- mysql 出现ERROR 2002 (HY000): ....错误通用解决方法
- CentOS下Redisserver安装配置
- No_16_0224 Java基础学习第五天
- 小偷程序原理和简单示例
- Linux 文件系统启动记录
- fft c语言与matlab,c语言matlab实现fft几种编程实例.doc
- idea 运行jmeter源码_JMeter知识系列(2)JMeter连接MongoDB
- add git 的文件 移除_本地删除文件后让git服务器也删除这个文件
- 2个YUV视频 拼接技术