当前位置:编程学习 > JAVA >>

求程序!!求帮助!!

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class NumTest extends JFrame implements ActionListener
{
JButton btn1 = new JButton("最大公约数");
JButton btn2 = new JButton("最小公倍数");
JLabel label_1 = new JLabel("Num1");
JLabel label_2 = new JLabel("Num2");
JLabel label_3 = new JLabel("结果");
JTextField num1 = new JTextField(15);
JTextField num2 = new JTextField(15);
JTextField result = new JTextField(15);
public NumTest()
{
setSize(300, 200);
setVisible(true);
setLayout(null);
setResizable(false);

label_1.setBounds(10, 20, 40, 20);
num1.setBounds(70,20,100,20);
label_2.setBounds(10, 50, 40, 10);
num2.setBounds(70,50,100,20);
label_3.setBounds(10, 80, 40, 10);
result.setBounds(70,80,100,20);
result.setEditable(false);

btn1.setBounds(180, 20, 100, 20);
btn2.setBounds(180, 50, 100, 20);
add(num1);
add(num2);
add(result);
add(btn1);
add(btn2);
add(label_1);
add(label_2);
add(label_3);

btn1.addActionListener(this);
btn2.addActionListener(this);

}
public static void main(String[] args)
{
new NumTest();
}

public void actionPerformed(ActionEvent e)
{
int m, n;
m = Integer.parseInt(num1.getText());
n = Integer.parseInt(num2.getText());
if(btn1 == e.getSource())
{
int k = m < n ? m : n;
for(; k > 0; k--)
if(m % k == 0 && n % k == 0)
{
result.setText("" + k);
break;
}
}
if(btn2 == e.getSource())
{
int k = m > n ? m : n;
for(; k <= m * n; k++)
if(k % m == 0 && k % n == 0)
{
result.setText("" + k);
break;
}
}
}
}

怎样改这个程序!! --------------------编程问答-------------------- 楼主是什么问题呢,还没说。最大公约数和最小公倍数,可以直接搜到现成的方法。 --------------------编程问答--------------------
引用 1 楼 magi1201 的回复:
楼主是什么问题呢,还没说。最大公约数和最小公倍数,可以直接搜到现成的方法。
运行了下,没发现什么问题。楼主的问题呢 --------------------编程问答--------------------
引用 1 楼 magi1201 的回复:
楼主是什么问题呢,还没说。最大公约数和最小公倍数,可以直接搜到现成的方法。

他问怎么改程序,不知道LZ要改成什么样的 --------------------编程问答-------------------- 扔一堆代码就完事。。╮(╯_╰)╭ --------------------编程问答-------------------- public void actionPerformed(ActionEvent e)
{
int m, n;
m = Integer.parseInt(num1.getText());
n = Integer.parseInt(num2.getText());
if(btn1 == e.getSource())
{
int k = m < n ? m : n;
for(; k > 0; k--)
if(m % k == 0 && n % k == 0)
{
result.setText("" + k);
break;
}
}
if(btn2 == e.getSource())
{
int k = m > n ? m : n;
for(; k <= m * n; k++)
if(k % m == 0 && k % n == 0)
{
result.setText("" + k);
break;
}
}
}
}
这里有错怎么修改!!我想要一个button,可我在网上搜到的是要两个button --------------------编程问答--------------------
import javax.swing.*;
import java.awt.event.*;

public class Test extends JFrame implements ActionListener {
JButton btn1 = new JButton("计算");
JLabel label_1 = new JLabel("Num1");
JLabel label_2 = new JLabel("Num2");
JLabel label_3 = new JLabel("结果");
JTextField num1 = new JTextField(15);
JTextField num2 = new JTextField(15);
JTextField result = new JTextField(15);

public Test() {
super("最大公约数与最小公倍数");
setSize(300, 150);
setVisible(true);
setLayout(null);
setResizable(false);

label_1.setBounds(10, 20, 40, 20);
num1.setBounds(70, 20, 100, 20);
label_2.setBounds(10, 50, 40, 10);
num2.setBounds(70, 50, 100, 20);
label_3.setBounds(10, 80, 40, 10);
result.setBounds(70, 80, 200, 20);
result.setEditable(false);
btn1.setBounds(180, 20, 90, 48);
add(num1);
add(num2);
add(result);
add(btn1);
add(label_1);
add(label_2);
add(label_3);

btn1.addActionListener(this);
}

public static void main(String[] args) {
new Test();
}

public void actionPerformed(ActionEvent e) {
int m, n;
m = Integer.parseInt(num1.getText());
n = Integer.parseInt(num2.getText());
int k = m < n ? m : n;
for (; k > 0; k--)
if (m % k == 0 && n % k == 0) {
result.setText("最大公约数:" + k);
break;
}
k = m > n ? m : n;
for (; k <= m * n; k++)
if (k % m == 0 && k % n == 0) {
result.setText(result.getText() +" ,最小公倍数:" + k);
break;
}
}
}
--------------------编程问答-------------------- 除
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,