Это вопрос:Добавление нескольких элементов с помощью LinkedList, JAVA
Предположим, что карта имеет правильный PIN-код, чтобы начать, и что есть 100 единиц на банковском счете. Каждое видео имеет стоимость аренды. Вам нужно будет отсканировать список корзины и рассчитать общую сумму для транзакции АТМ. Вы можете предположить, что на банковском счете всегда достаточно единиц, чтобы покрыть стоимость аренды для этого упражнения. Версия Video Kiosk кода будет содержать следующие шаги:
• Создание связанного списка для заголовков видео и заправить выбор из 5 пунктов
• Создание пустого Linked List (корзины) для хранения выбора клиента
• Представить меню управляемого процесса выбора
- Показать на экране расписан с выбором количеством
- Определить выбор и определить, если это действительно
- Put выбранное видео в 2-связный список (Корзина)
- Удалить ранее выбранное видео из списка доступных Заголовок
Полный процесс выбора
Доведите содержимое список корзины к банкомату и оплатить
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();
}
}
Video.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 корзину.
При попытке приобрести другой список видеорежима Repeteadly показывая больше .... дважды –
@AnilShivakoti, не уверен, что вы имеете в виду. Если вы говорите, что когда вы снова заходите назад, и он показывает две копии видео, это потому, что не удалял вызов VideoList() в методе 'showVideoList()' и помещал его в метод 'main'. Вам нужно только инициализировать инвентарь за один раз, и это должно быть сделано в методе 'main'. – KevinO
Спасибо за помощь, спасибо снова –