如何解决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 举报,一经查实,本站将立刻删除。