java - 为什么这个gcd方法不起作用?

标签 java

我必须在java中编写一个小程序,调用gcd方法并在showStatus中显示输出。 这就是我到目前为止所做的,但是当我给出两个数字时,返回值只是第二个数字。有人能告诉我这有什么问题吗?

任何帮助将不胜感激。

package gcd;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Gcd extends JApplet implements ActionListener {
   JLabel promptLabel1,promptLable2;
   JTextField inputField1,inputField2;


  public void init(){

   Container container = getContentPane();
    container.setLayout( new FlowLayout() );

promptLabel1 = new JLabel( "Enter first number: " );
 promptLable2 = new JLabel( "Enter second number: " );
inputField1 = new JTextField( 10 );
 inputField1.addActionListener( this );
inputField2 = new JTextField( 10 );
  inputField2.addActionListener( this );
 container.add( promptLabel1 );
  container.add( inputField1 );
 container.add( promptLable2 );
  container.add( inputField2 );

}


@Override
public void actionPerformed(ActionEvent actionEvent) {

 int num1 = Integer.parseInt( actionEvent.getActionCommand());

 int num2 = Integer.parseInt( actionEvent.getActionCommand());

 showStatus( "Great Common Divisor is " + gcd( num1,num2 ) );

}

   public int gcd (int num1,int num2){

  while(num1!=0 && num2!=0){
     int temp = num2;
      num2 = num1%num2;
      num1 = temp;
  }
  return num1+num2;
   }
  }

最佳答案

你应该使用这个:

int num1 = Integer.parseInt(inputField1.getText());
int num2 = Integer.parseInt(inputField2.getText());

从框中获取文本输入。

关于java - 为什么这个gcd方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810284/

相关文章:

java - 如何在 Apache Nutch 2.x 中获取 webgraph

java - Oracle Hyperion MDM Web 服务 API 和 .NET 互操作

java - 如何创建边缘不平坦的对话框

java - Netbeans 图形设计器中自定义图形组件的自动更新

java - 改造:根据响应进行 Json 解析器

java - 如何使用 apache POI 从 docx 文档中获取段落的字体大小?

java - 使用静态嵌套类作为泛型参数

java - 使用 JRockit 安装 Tomcat 失败

java - JNA 内存泄漏 - 如何修复?

java - 如何获取jar类来自