编辑一个有上传,删除,修改,排序的管理图片的java代码
时间: 2023-11-25 22:06:52 浏览: 32
以下是一个简单的管理图片的 Java 代码,包括上传、删除、修改和排序功能。
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class ImageManager {
private ArrayList<Image> images;
public ImageManager() {
images = new ArrayList<>();
}
public void addImage(Image image) {
images.add(image);
}
public void removeImage(int index) {
images.remove(index);
}
public void editImage(int index, Image newImage) {
images.set(index, newImage);
}
public void sortImages() {
Collections.sort(images, new Comparator<Image>() {
@Override
public int compare(Image o1, Image o2) {
return o1.getName().compareTo(o2.getName());
}
});
}
public void displayImages() {
for (int i = 0; i < images.size(); i++) {
System.out.println((i + 1) + ". " + images.get(i));
}
}
public static void main(String[] args) {
ImageManager manager = new ImageManager();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. Add image");
System.out.println("2. Remove image");
System.out.println("3. Edit image");
System.out.println("4. Sort images");
System.out.println("5. Display images");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("Enter image name: ");
String name = scanner.next();
System.out.print("Enter image path: ");
String path = scanner.next();
Image image = new Image(name, path);
manager.addImage(image);
break;
case 2:
System.out.print("Enter image index: ");
int index = scanner.nextInt() - 1;
manager.removeImage(index);
break;
case 3:
System.out.print("Enter image index: ");
int editIndex = scanner.nextInt() - 1;
System.out.print("Enter new image name: ");
String newName = scanner.next();
System.out.print("Enter new image path: ");
String newPath = scanner.next();
Image newImage = new Image(newName, newPath);
manager.editImage(editIndex, newImage);
break;
case 4:
manager.sortImages();
break;
case 5:
manager.displayImages();
break;
case 6:
System.exit(0);
break;
default:
System.out.println("Invalid choice!");
break;
}
}
}
}
class Image {
private String name;
private String path;
public Image(String name, String path) {
this.name = name;
this.path = path;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
@Override
public String toString() {
return name + " - " + path;
}
}
```
在这个代码中,我们使用了一个 `ImageManager` 类来管理图片。这个类包含了添加、删除、编辑、排序和显示图片的方法。我们还定义了一个 `Image` 类来表示一张图片,包括名称和路径。在 `main` 方法中,我们使用了一个简单的菜单来让用户选择要执行的操作。我们使用了 `Scanner` 类来读取用户输入。排序功能使用了 Java 中的 `Collections.sort` 方法和一个比较器来实现按名称排序。