微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SammysRentalPrice JOptionPane

如何解决SammysRentalPrice JOptionPane

  • 列表项

我在Java课堂上,系统提示我从这本书中进行实验。

Sammy的Seashore Supplies向游客出租沙滩设备,例如皮划艇,独木舟,沙滩椅和雨伞。编写一个程序,提示用户租用一件运动器材的分钟数。计算租金为每小时$ 40,另加每分钟$ 1。 (您可能已经推测出该汇率存在逻辑缺陷,但现在,请按照此处所述计算汇率。在阅读了有关决策的章节之后,可以解决此问题。)显示Sammy的座右铭以及在菜单中创建的边框第1章中的SammysMotto2类。然后显示小时,分钟和总价。将文件另存为SammysRentalPrice.jav

现在,我正在尝试使用JOptionPane进行此操作,但我不确定从现有内容中可以得到什么。

import psycopg2   
from flask_sqlalchemy import sqlAlchemy

db = sqlAlchemy()

sql_insert = "INSERT INTO table_results (" + ",".join(data_dict.keys()) + ") VALUES (" + ",".join(["%("+k+")s" for k in data_dict]) + ");"

db.session.execute(sql_insert,data_dict )    

db.session.commit()                          

解决方法

首先,您需要对其进行更改以显示输入对话框而不是消息对话框。可以通过将showMessageDialog更改为showInputDialog

来完成

请记住,showInputDialog返回一个字符串,因此您必须将其解析为一个整数。

之后,您可以进行计算。

代码应如下所示:

public static void main(String[] args) 
{
    final int RENT_PER_HOUR = 40;
    final int RENT_PER_ADDITIONAL_MINUTE = 1;
    final int MINUTES_IN_AN_HOUR = 60;
    
    int minutesRented;
    int hoursRented;
    int additionalMinutes;
    int total;
    
    String strNumberOfMinutes = JOptionPane.showInputDialog(null,"Enter the number of minutes","Number of Minutes",JOptionPane.INFORMATION_MESSAGE);
    
    JOptionPane.showMessageDialog(null,"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS\n"
            + "SS                                                                        SS \n"
            + "SS    Sammy's makes it fun in the sun.      SS \n"
            + "SS                                                                        SS \n"
            + "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS\n");
    
    minutesRented = Integer.parseInt(strNumberOfMinutes);
    
    hoursRented = minutesRented / MINUTES_IN_AN_HOUR;
    additionalMinutes = minutesRented - (hoursRented*MINUTES_IN_AN_HOUR);
    
    total = additionalMinutes*RENT_PER_ADDITIONAL_MINUTE + hoursRented*RENT_PER_HOUR;
    
    JOptionPane.showMessageDialog(null,"Hours: "+hoursRented+"\n"
            + "Min: "+additionalMinutes+"\n"
            + "Total Cost: "+total);
}
,

由于使用的是swing,为什么不创建一个扩展JFrame或JPanel并添加JScrollPane或JTextArea的类。还要添加一个按钮以关闭窗格,就像在JOptionPane中一样。

在main方法中调用该类。请注意,在JOptionPane中放置大量信息不是最佳实践。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。