Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何用循环使程序复位回到开头

如何用循环使程序复位回到开头
EN

Stack Overflow用户
提问于 2014-12-09 19:09:28
回答 1查看 197关注 0票数 1

我有一个简单的货币转换程序,允许用户输入三个文本框中的一个,以便将它们的金额转换为美元。我希望用户能够输入他们想输入的信息多少次,所以我创建了一个名为JButtoncontinueButton,但是我无法正确地完成循环并重新设置程序。

问题:我如何写一个循环语句使这个程序从一开始就开始,允许用户再次输入数字?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MoneyConversionPanel extends JPanel {

    JLabel yenLabel = new JLabel();
    JLabel poundLabel = new JLabel();
    JLabel euroLabel = new JLabel();
    JTextField yenText = new JTextField("Enter Yen amount here:");
    JTextField poundText = new JTextField("Enter Pound amount here:");
    JTextField euroText = new JTextField("Enter Euro amount here:");
    JButton continueButton = new JButton("Click to reset");
    JButton yenButton = new JButton("Convert");
    JButton poundButton = new JButton("Convert");
    JButton euroButton = new JButton ("Convert");
    MoneyConversion userInput;

    public MoneyConversionPanel()
    {

    Dimension dimension = new Dimension(1200,1000);

    setPreferredSize(dimension);

    setBackground(Color.cyan);

    yenButton.addActionListener(new buttonListener());

    add(yenLabel);
    add(poundLabel);
    add(euroLabel);
    add(yenText);
    add(poundText);
    add(continueButton);
    continueButton.setVisible(false);
    add(euroText);
    add(yenButton);
    add(poundButton);
    add(euroButton);

}

    private class buttonListener implements ActionListener
    {
        double conversionDouble;
        NumberFormat costFmt = NumberFormat.getCurrencyInstance();


        @Override
        public void actionPerformed(ActionEvent e) {

    do {

        for(int i = 0; i < 1; i++)
        {
        if(e.getSource() == yenButton)

        {
            userInput = new MoneyConversion(Double.parseDouble(yenText.getText()));
            conversionDouble = userInput.convertYen();
            yenLabel.setText("" + costFmt.format(conversionDouble));
            continueButton.setVisible(true);
        }

        else if(e.getSource() == poundButton)
        {
            userInput = new MoneyConversion(Double.parseDouble(poundText.getText()));
            conversionDouble = userInput.convertPounds();
            poundLabel.setText("" + costFmt.format(conversionDouble));
            continueButton.setVisible(true);
        }

        else if(e.getSource() == euroButton)
        {
            userInput = new MoneyConversion(Double.parseDouble(euroText.getText()));
            conversionDouble = userInput.convertEuro();
            euroLabel.setText("" + costFmt.format(conversionDouble));
            continueButton.setVisible(true);
        }
        }

    } while(e.getSource() == continueButton);
        } 

        }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-09 19:20:49

建议:

  • 只使用一个JTextField输入窗口。
  • 在此窗口左侧使用JLabel提示符。
  • 有三种换算JButtons,每种货币一种。
  • 或者一个转换JButton和3个JRadioButtons,以允许用户选择要转换的货币。
  • 没有必要循环或重置。只要简单地进行转换,每次按下按钮就会显示出来--就是这样。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27392714

复制
相关文章
FANUC如何实现按复位按键返回到程序开头
每天思考一段话 生活是一面镜子,我们如何面对它,它就会如何馈赠我们。背不动的,要放下。伤不起的,要看淡。想不通的,可以不想。恨不过的,要抚平。有时,尽管我们已经很努力,仍然得不到幸运之神的青睐,只能说明,该转弯了。付出不一定有收获,收获却一定要付出努力。 最近一直忙于网站的搬家与升级,在自己瞎折腾的时候出现了一个网站后台不能够访问的问题,导致公共账号没有更新,不过经过这次折腾让我也学会了在服务器上使用Linux系统搭建网站的步骤,目前我的共享屋和数控库已经顺利搬迁,访问速度优于之前,访问人数也比之前更多
企鹅号小编
2018/01/25
2.6K0
回到基础:优化 JavaScript 的循环[每日前端夜话0x52]
翻译:疯狂的技术宅 原文:https://medium.freecodecamp.org/how-to-optimize-your-javascript-apps-using-loops-d5eade9ba89f
疯狂的技术宅
2019/04/23
1.2K0
回到基础:优化 JavaScript 的循环[每日前端夜话0x52]
python for循环if-else使
a = [i*2 for i in mylist]; print(a) #[-2, 0, 2, 4, 6, 8]
py3study
2020/01/13
6060
同步复位与异步复位
触发器是FPGA中最为常见的物理单元。Xilinx FPGA中的触发器可配置为寄存器,也可配置为锁存器,前者为边沿敏感,后者为电平敏感。
Lauren的FPGA
2019/10/31
1.2K0
如何用本机使虚拟机上网[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144225.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
1.4K0
如何区分同步复位和异步复位?
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FPGA技术江湖
2020/12/30
1K0
同步后的复位该当作同步复位还是异步复位?——Xilinx FPGA异步复位同步释放
(1)尽量少使用复位,特别是少用全局复位,能不用复位就不用,一定要用复位的使用局部复位;
FPGA探索者
2021/03/15
1.4K0
Aurora Reset(复位)
复位信号用于将Aurora 8B / 10B IPCORE 设置为已知的启动状态。在复位时,内核停止任何当前操作并重新初始化新通道。在全双工模块上,复位信号复位通道的TX 和RX 侧。在单工模块中,tx_system_reset复位TX 通道,rx_system_reset 复位RX 通道。gt_reset 信号复位最终复位内核的收发器。注意:tx_system_reset 与单工边带接口上使用的tx_reset 和rx_reset 信号分开。
瓜大三哥
2019/06/05
2.3K0
Aurora Reset(复位)
GT Transceiver的复位与初始化(2)CPLL复位以及QPLL复位
CPLL必须使用CPLLPD端口断电,直到FPGA结构中检测到参考时钟边沿。在CPLLPD无效后,CPLL必须在使用前进行复位。每个GTX/GTH收发器通道有三个专用端口用于CPLL复位。如下图所示,CPLLRESET是一个复位CPLL的输入。CPLLLOCK是一个输出,表示复位过程已经完成。
Reborn Lee
2021/11/04
1.2K0
如何用BBED使Offline的数据文件Online
编辑手记:一个6T的数据库,使用ASM磁盘存储。在添加磁盘的过程中导致数据文件offline,但可悲的是,数据库没有备份,在发现问题的时候归档也已经被清除,此时此刻,作为DBA的你,会选择什么办法处理? 作者简介: 韩朝阳 超过10年的专业数据库运维管理服务经验,服务的产品主要包括Oracle Database,Oracle EBS,Oracle MiddleWare,Oracle Exadata。熟悉Oracle数据库高可用架构,擅长Oracle 数据库架构规划、优化、故障诊断及异常恢复。曾长期服务于Or
数据和云
2018/03/07
1.2K0
如何用BBED使Offline的数据文件Online
笔试 | 【旧文重发】异步复位同步释放、异步复位和同步复位区别【FPGA探索者】
Get Smart About Reset: Think Local, Not Global
FPGA探索者
2022/05/26
1.3K0
笔试 | 【旧文重发】异步复位同步释放、异步复位和同步复位区别【FPGA探索者】
OpenAI新突破:使机器人操纵物体如人类一样灵活
在即将发表的一篇论文“Dexterous In-Hand Manipulation”中,OpenAI研究人员描述了一种系统,该系统使用强化模型,AI通过反复试验来学习,以最先进的精准度指导机器人手掌握和操纵物体的状态。更令人印象深刻的是,它在计算机模拟中完全以数字方式进行了训练,并没有提供任何人类演示来学习。
AiTechYun
2018/08/06
4990
OpenAI新突破:使机器人操纵物体如人类一样灵活
复位信号 rst
xilinx 的触发器是 高电平触发,所以建议使用 rst, 如果是 rst_n,则会增加额外的非逻辑
全栈程序员站长
2022/11/10
5230
复位信号 rst
【不是问题的问题】为什么复位中断服务程序里面直接调用的main函数,难道所有程序都在复位中断里面执行的?
这个问题之前一直理所当然,没有深究过,认为就是复位中断服务程序退出后进入到main的,实际不然。 【视频版】
Simon223
2022/10/31
8020
使程序在Linux下后台运行
我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:
SingYi
2022/07/14
4.3K0
如何使程序在Linux后台运行
这样一来,test程序就在后台运行了。但是,这样处理还不够,因为这样做虽然程序是在后台运行了,但log依然不停的输出到当前终端。因此,要让终端彻底的清静,还应将log重定向到指定的文件:
阿凡亮
2020/04/14
8.8K0
【说站】python如何用循环遍历分离数据
2、筛选出的重复数据。用来存储重复数据以外的剩余数据。用来存储要比较的所有数据的索引(即name),其中去除为空的name。
很酷的站长
2022/11/24
9260
【说站】python如何用循环遍历分离数据
循环队列程序演示
1 #include<stdio.h> 2 #include<malloc.h> 3 4 typedef struct Queue{ 5 int * pBase;//数组名就是第一个数组元素的地址 6 int front;//队首第一个元素下标 7 int rear;//队尾最后一个有效元素的下一个元素 8 }QUEUE; 9 10 //函数声明,此处可不写形参 11 void init(QUEUE *);//初始化队列,此处使用指针!!
孙晨c
2019/09/10
6270
九,ESP8266 判断是断电上电(强制硬件复位)之后运行的内部程序还是内部软件复位之后运行的程序(基于Lua脚本语言)
现在我有一个需求,WIFI模块控制一个继电器,我要做的是如果内部程序跑乱了,造成了内部程序复位重启,那么控制继电器的状态不能改变
杨奉武
2018/10/11
1.7K0
九,ESP8266 判断是断电上电(强制硬件复位)之后运行的内部程序还是内部软件复位之后运行的程序(基于Lua脚本语言)
Python 技巧篇-开头注释怎么写最好,开头注释需要包含什么,开头注释的重要性
开头注释除了必要的信息外,一些简单的介绍也是尤为重要呢,比如作者、创建日期、更新日期、里面代码大体是实现什么功能的简要介绍。这些介绍不但是规范,更是一种认真工作态度的体现。
小蓝枣
2020/09/23
4K0

相似问题

如何循环回到程序的开头

24

while循环回到程序的开头

214

循环回到开头

11

如何循环回到程序的开头- Python

20

如何循环回到开头

338
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文