【发布时间】:2016-08-19 13:39:28
【问题描述】:
这是问题:
假设该卡有一个有效的 PIN 码,并且银行账户中有 100 个单位。 每个视频都有租赁“成本”。您需要扫描购物篮清单并计算 ATM 交易的总额。您可以假设银行帐户中始终有足够的单位来支付此练习的租金。 一个视频亭代码版本将包含以下步骤:
• 为视频标题创建链接列表并填写 5 项选择
• 创建一个空的链接列表(篮子)来存储客户选择
• 呈现菜单驱动的选择过程
- 在屏幕上逐项显示选择编号
- 识别选择并确定它是否有效
- 将所选视频放入第二个链表(篮子)
- 从可用的标题列表中删除之前选择的视频
-
完整的选择过程
将购物篮清单的内容带到ATM并付款
Vkiosk.java
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
public class VKiosk {
private static LinkedList VTable=new LinkedList();
private static LinkedList Basket=new LinkedList();
private static double rentCost=0;
private static int j=1;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// declaring scanner name as "typeNumber"
Scanner typeNumber = new Scanner(System.in);
System.out.println("::: Welcome to My Java Program To model an ATM machine :::");
showVideoList();
System.out.print("Input the serial number of video to buy: ");
buyVideo();
System.out.println("Your total amount of Cost: "+ rentCost);
MMachine buy = new MMachine();
buy.Txn(rentCost);
}
public static double buyVideo(){
Scanner typeNumber = new Scanner(System.in);
String title=typeNumber.nextLine();
String amount=null;
for(int i=0;i<VTable.size();i++){
String videoDetails=VTable.get(i).toString();
if(videoDetails.toLowerCase().contains(title.toLowerCase())){
Basket.add(VTable.get(i));
for(int j=videoDetails.length()-2;j>=0;j--){
if(videoDetails.charAt(j)==' '){
break;
}
amount=videoDetails.substring(j, videoDetails.length()-1);
}
VTable.remove(i);
}
}
rentCost=Double.parseDouble(amount);
return rentCost;
}
public static void VideoList(){
Video vTable1=new Video("BladeRunner", 1, 5);
Video vTable2=new Video("Wages of Fear", 2, 4);
Video vTable3=new Video("Grease", 3, 5);
Video vTable4=new Video("Mama Mia", 4, 4);
Video vTable5=new Video("L'Illusionniste", 5, 6);
VTable.add(vTable1);
VTable.add(vTable2);
VTable.add(vTable3);
VTable.add(vTable4);
VTable.add(vTable5);
}
public static void showVideoList(){
System.out.println();
System.out.println("********************************************************************");
System.out.println("List of the Videos are: ");
System.out.println("********************************************************************");
System.out.println("Serial No Video Detetails");
VideoList();
for(int i=0; i<VTable.size(); i++){
System.out.println( j+" "+VTable.get(i));
j++;
}
System.out.println();
}
}
视频.java
public class Video{
private String title;
private int serial;
private double cost;
public Video(String title, int serial, double cost)
{
this.title = title;
this.serial = serial;
this.cost = cost;
}
public String getTitle() {return title;}
public int getSerial() {return serial;}
public double getCost() {return cost;}
public String getVideo() {
return "title:" + title + " Serial: " + serial + " Cost: " + cost;
}
// Upgrade output of toString ()
@Override
public String toString() {
return "["+getVideo()+"]";
}
}
我成功只买了一件,需要通过Linked List Basket购买多件。
【问题讨论】:
标签: java linked-list shopping-cart cart kiosk