首页 > 解决方案 > 关于制作一个允许用户从给定列表中选择一本书、输入数量并确认订单的 java 程序的建议

问题描述

我不是要完整的代码,而是要学习如何执行该程序的内容。我需要真正了解该程序是如何工作的。

我是大学一年级的学生,到目前为止,我们只学过 java 打印、输入、显示、扫描仪和 JOptionPane。我们的任务是用我们只学过的东西来制作一个程序。

我的想法是,比方说,一个学生需要订购他们需要的教科书。点击程序,用户将在程序的顶部看到可用的书籍列表,包括它们的标题、代码、价格和可用数量(可选)

下面是多个输入,第一个是询问他们选择的书的代码。接下来是他们想要的数量。底部的确认按钮“再次订购”“确认订单”和“取消”。“再次订购”将使用户选择另一个标题和数量。“CONFIRM ORDER”将是收据和确认页面的排序。

这个程序可以在 Scanner 或 JOptionPane 中制作吗?再复杂会让教授怀疑。他很清楚,使用他所教的东西。

如果有,步骤是什么?即使那样,鉴于我有限的知识,我仍然对程序的外观有一个模糊的想法。

标签: javajava.util.scannerjoptionpane

解决方案


我们当然不能为你编写这个程序,但是请教一下是可以的。想想你需要完成什么。1. 显示书籍列表 2. 用户从列表中选择一些项目,以及数量 3. 确认订单

所以为了做到#1...你需要一个书籍列表(数组)你需要显示它,可能在 JOptionPane 你可能会通过在数组上使用FOR LOOP(或FOR EACH LOOP)并打印出来来做到这一点.

所以为了做#2...你需要让程序接受用户输入,可能是通过扫描仪你可能需要一个打印语句询问他们的输入,以及他们是否愿意继续。类似于:您将需要一个与 book 数组大小相同(即元素数相同)的数组。

  (java/python pseudocode format, not intended to function):
    print("Please select a book")
    print(bookarray)
    Scanner captures user input
    print("How many?")
    Scanner captures user input
    print("Would you like anything else? y/n")
    if Scanner.input = "y", repeat the process
    else: print ("thank you for your order")

所以为了做#3...你需要知道每本书购买了多少。假设您有一个bookArray like = {"Book1", "Book2", "Book3"} 您可以有一个SalesArray like = {0,0,0} 然后,当有人订购一本书时,您可以INDEX从 bookarray 中获取并相应地更新 SalesArray

遍历 book 数组并打印出书名,以及 sales 数组中的关联销售额

它有助于这些类型的项目思考你必须做什么。一旦开始编写代码,如果遇到困难,请发布尚未回答的问题以提供帮助。祝你好运。


推荐阅读