目的是创建一个利用GUI计算阶乘的程序。 我需要创建一个jPanel或jFrame来显示程序的结果。 然后,我需要从JTextField获取文本并将其解析为Integer,以便可以将其传递给构造函数。 第三,需要使用一个称为factorial的int类型的实例变量来创建一个对象类。 该对象类需要一个名为Factorial的单个参数构造函数,该构造函数接受一个int并将其值分配给实例变量。 然后,它应该具有一种使用for循环(返回类型为int)来计算阶乘的方法。 最后,它应该在调用计算阶乘的方法后显示对象的值。 到目前为止,这是我的工作。

import javax.swing.JFrame;

public class factorialCalc

{

public static void main (String[] args)

{

JFrame frame=new JFrame ("Factorial Calculator");

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

Factorial panel=new Factorial();

frame.getContentPane().add(panel);

frame.pack();

frame.setVisible(true);

}

}

我的下一个文件是Object类:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Factorial extends JPanel

{

private int factorial;

private JLabel inputLabel,resultLabel;

private JTextField factorialText;

private JButton factButton;

//Constructor: sets up main GUI components

public void FactorialPanel(int factorial)

{

this.factorial=factorial;

inputLabel= new JLabel ("Please enter an integer:");

factButton = new JButton("Compute");

TempListener listener=new TempListener();

factButton.addActionListener(listener);

factorialText = new JTextField();

factorialText.addActionListener (new TempListener());

add(inputLabel);

add(factorialText);

add(resultLabel);

}

//represents a listener for the button

private class TempListener implements ActionListener

{

//performs factorial operation when the 'Compute' button is pressed

public int computeFactorial(ActionEvent event)

{

int text=Integer.parseInt(factorial);

int f =1;

for(int i=text;i>=1;i--)

{

f = f*i;

}

resultLabel.setText(Integer.toString(f));

}

}

}

这些是我尝试编译时遇到的以下错误:

.\Factorial.java:31: error: Factorial.TempListener is not abstract and does not override abstract method actionPerformed(ActionEvent) in ActionListener

private class TempListener implements ActionListener

^

.\Factorial.java:37: error: incompatible types: int cannot be converted to String

int text=Integer.parseInt(factorial);

^

Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output

2 errors

为什么不让我将String阶乘解析为in和integer?

另外,如何以及在何处调用computeFactorial方法以显示对象的值?

谢谢! 任何帮助表示赞赏!

java求阶乘不内存溢出_java - Java阶乘GUI - 堆栈内存溢出相关推荐

  1. Java求1到任意一个数的阶乘和

    3.Java求1到任意一个数的阶乘和 package p1;import java.util.Scanner;public class numberji {public static void mai ...

  2. java swing还有人用吗_Java不是自动管理内存吗,怎么还有内存泄漏?

    最近最我的机顶盒里有个Android应用老提示应用已停止运行,我查看Log后发现是Java堆内存溢出然后挂掉了.Java不是自动管理内存吗,怎么还会有内存泄漏,是Java虚拟机的垃圾回收机制有问题吗? ...

  3. java 内存泄漏_Java开发者必须知道的内存泄漏问题

    1. 简介 Java的核心优势之一是在内置垃圾收集器(简称GC)的帮助下实现自动内存管理.GC隐含地负责分配和释放内存,因此能够处理大多数内存泄漏问题. 虽然GC有效地处理了大部分内存,但它并不能成为 ...

  4. java求拼接后的字符串长度,java如何拼接字符串

    java 动态拼接字符串,Java 字符串拼接效率分析及最佳实践,java字符串拼接,java如何拼接字符串 在JAVA 中拼接两个字符串的最简便的方式就是使用操作符"+"了.如果 ...

  5. java clob内存溢出_java - java.sql.SQLException:ORA-01704:字符串文字太长时插入或更新 - 堆栈内存溢出...

    通常,当我插入4000个字符限制时,它的工作正常,但当超过4000个字符时,它抛出SQL异常字符串文字太长,即使我的DISCHARGE_TEXT数据类型是CLOB 我的JavaScript代码是 fu ...

  6. java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...

    这是代码片段 我在这里启动一个动作监听器 try { port_seleted.addEventListener(this); } catch (TooManyListenersException e ...

  7. java pdf 用系统字体大小_java - Java PDFBox设置PDF表单中几个字段的自定义字体 - 堆栈内存溢出...

    使用穷人的大胆 我如何大胆的领域? ......我需要设置哪些大胆的字段? 在PDF中,您通常使用带粗体字形的字体使文本变为粗体,另请参阅第二个问题. 如果你手上没有这么大胆的字体,你可能会使用一些穷 ...

  8. java获取excel文件第一行_java - 在Java中读取Excel文件,但第一行除外 - 堆栈内存溢出...

    我正在尝试从使用xlsx文件的JasperReport模板自动创建报告,我用来从excel文件读取的方法是这样的: String[] columnNames = new String[]{" ...

  9. java 内存同步_Java中的硬件事务性内存,或者为什么同步将再次变得很棒

    java 内存同步 总览 硬件事务内存有可能允许多个线程同时以推测方式访问相同的数据结构,并使缓存一致性协议确定是否发生冲突. HTM旨在为您提供细粒度锁定的可伸缩性,粗粒度锁定的简单性以及几乎没有锁 ...

  10. java 内存接口_java中多态机制的内存解析、抽象类、接口

    1.多态机制的内存解析 1).多态的三要素 *类之间具有相互继承关系: *子类重写父类的方法: *父类引用指向子类对象: 2).为了更加细致深入的了解多态运行的机制,将下列代码的在内存中运行的简图绘制 ...

最新文章

  1. Vue.js学习系列(三十四)-- Vue.js样式绑定(五)
  2. ZwReadFile读TXT文件
  3. 使用WebUploader实现文件批量上传,进度条显示功能
  4. 冠军方案解读,ICPR 2020 大规模商品图像识别挑战赛
  5. Win XP环境Tuxedo8.1安装、配置指南
  6. 20191202_Python支持向量机的实现
  7. 2款QQ空间首页好看的psd源码
  8. 如何在CAD中插入一个自定义对象?
  9. 计算机的网络说课稿模板,小学信息技术说课稿优秀模板
  10. eas账号是什么意思_请问帐号和账号有什么区别,具体怎么用?
  11. 再见shareplex
  12. java 线性回归_java实现简单线性回归
  13. aspectjweaver.jar+ aopalliance.jar+mchange-commons-java.jar+cglib.jar官网下载
  14. 判断单链表是否有环以及环的连接点
  15. 中国人工智能大赛个人赛正式收官,优质企业、专业参赛团队继续“接棒”
  16. mybatis Plus多表查询
  17. 阿里云购买学生机镜像多种选择
  18. 中文分词算法python_python实现中文分词FMM算法实例
  19. 李阳:征服英语的30个好习惯
  20. Qt中解决信号和槽不能使用自定义结构体的问题

热门文章

  1. 神经网络的介绍与模型搭建
  2. zookeeper 分布式锁_详细讲解!从秒杀聊到ZooKeeper分布式锁
  3. CString转换成const char*
  4. Qt 定制字体选择 QFontComBobox
  5. kno DNS 03 Tips - DNS Cookies
  6. 中国工程师的真实写照!悲哀····
  7. 成员变量和局部变量详解
  8. c串口一直读到缓存数据_STM32CubeMX之串口不定长数据接收(接收中断+空闲中断)...
  9. 修改Opera浏览器默认主页搜索引擎
  10. 车牌识别代码OpenCV