package com.example.datacollect.command; import com.example.datacollect.model.Article; import com.example.datacollect.model.DataService; import com.example.datacollect.view.ConsoleView; import java.util.ArrayList; import java.util.List; public class DeleteCommand implements Command{ private final ConsoleView view; public DeleteCommand(ConsoleView view){ this.view=view; } @Override public String getName(){ return "delete"; } @Override public void execute(String[]args,DataService dataService){ if (args.length < 2) { view.printError("Usage: delete "); return; } int index; try{ index = Integer.parseInt(args[1]) - 1; }catch (NumberFormatException e){ view.printError("index must be number"); return; } List
articles = dataService.getAllArticles(); if (index < 0 || index >= articles.size()) { view.printError("invalid index " + articles.size() + "article"); return; } Article deleted=articles.remove(index); view.printSuccess("delete:" + deleted.getTitle()); } }