> add 2 13 42> add 2 13 37.>showS T L3 4 903 7 3004 7 1504 5 505 6 1507 8 1007 9 708 9 759 10 9510 4 400像这样add X X X输入整数(int),然后打出show之后能出现像表格一样排列的东西..除了add还要有delete而且只输入前面

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 12:26:15
> add 2 13 42> add 2 13 37.>showS T L3 4 903 7 3004 7 1504 5 505 6 1507 8 1007 9 708 9 759 10 9510 4 400像这样add X X X输入整数(int),然后打出show之后能出现像表格一样排列的东西..除了add还要有delete而且只输入前面

> add 2 13 42> add 2 13 37.>showS T L3 4 903 7 3004 7 1504 5 505 6 1507 8 1007 9 708 9 759 10 9510 4 400像这样add X X X输入整数(int),然后打出show之后能出现像表格一样排列的东西..除了add还要有delete而且只输入前面
> add 2 13 42
> add 2 13 37
.
>show
S T L
3 4 90
3 7 300
4 7 150
4 5 50
5 6 150
7 8 100
7 9 70
8 9 75
9 10 95
10 4 400
像这样add X X X输入整数(int),然后打出show之后能出现像表格一样排列的东西..
除了add还要有delete而且只输入前面两个数就能自动找到那个数组然后删除..
比如
>add 3 4 9
>delete 3 4
(然后3,4,9就删除了...)...
嗯..怎么说..我觉得我说的不算复杂啊?

> add 2 13 42> add 2 13 37.>showS T L3 4 903 7 3004 7 1504 5 505 6 1507 8 1007 9 708 9 759 10 9510 4 400像这样add X X X输入整数(int),然后打出show之后能出现像表格一样排列的东西..除了add还要有delete而且只输入前面
//这个不难,我写一个吧.你等着
//和你要的功能一样,输入java Class1 启动程序,exit退出
import java.util.Comparator;
import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;
public class Class1 {
private final class MyComparator implements Comparator {
public int compare(D o1,D o2) {
return o1.f * 10000 + o1.s - o2.f * 10000 - o2.s;
}
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
}
class D {
public D(int s,int t,int l) {
this.f = s;
this.s = t;
this.t = l;
}
public int f,s,t;
}
TreeSet set = new java.util.TreeSet(new MyComparator());
public static void main(String[] args) {
new Class1().run();
}
private void run() {
Scanner in = new Scanner(System.in);
while (true) {
System.out.print('>');
String str = in.nextLine();
if (str.matches("^show$")) {
if (set.size() > 0) {
System.out.println("S\tT\tL");
for (D d :set) {
System.out.println(d.f + "\t" + d.s + "\t" + d.t);
}
}
}
if (str.matches("^add \\d+ \\d+ \\d+$")) {
String[] strs = str.split(" ");
int f = Integer.parseInt(strs[1]);
int s = Integer.parseInt(strs[2]);
int t = Integer.parseInt(strs[3]);
set.add(new D(f,s,t));
}
if (str.matches("^delete \\d+ \\d+$")) {
String[] strs = str.split(" ");
int f = Integer.parseInt(strs[1]);
int s = Integer.parseInt(strs[2]);
Iterator it = set.iterator();
while (it.hasNext()) {
D d = it.next();
if (d.f == f && d.s == s) {
it.remove();
break;
}
}
}
if (str.matches("^exit$")) {
break;
}
}
}
}