我现在有一批数据。格式如下:
String[] a={
1996 21 1,
1996 21 2,
1996 21 3,
1996 22 1,
1996 22 2,
2000 21 2,
2000 23 2}
我想显示出来的格式是:
1996 V21 NO.1 2 3
V22 No.1 2
2000 V21 No.2
V23 No.2
String[] a={
1996 21 1,
1996 21 2,
1996 21 3,
1996 22 1,
1996 22 2,
2000 21 2,
2000 23 2}
我想显示出来的格式是:
1996 V21 NO.1 2 3
V22 No.1 2
2000 V21 No.2
V23 No.2
====================public class Test{ public static void main(String args[]){
String[] a={"1996 21 1",
"1996 21 2",
"1996 21 3",
"1996 22 1",
"1996 22 2",
"2000 21 2",
"2000 21 3",
"2000 21 4",
"2000 23 3",
"2000 23 2"};
String ss,sv;
int i=0;
ss=a[0].substring(0,4);
sv=a[0].substring(5,7);
System.out.print(ss+" V"+sv+" NO."+a[0].substring(8,9));
i=1;
do{
while(i<a.length&&ss.equals(a[i].substring(0,4)))
{
while(i<a.length&&sv.equals(a[i].substring(5,7)))
{
System.out.print(" "+a[i].substring(8,9));
i++;
}
System.out.println();
if(i<a.length) {
sv=a[i].substring(5,7);
if(ss.equals(a[i].substring(0,4)))
System.out.print(" V"+sv+" NO."+a[i].substring(8,9));
else {
ss=a[i].substring(0,4);
System.out.print(ss+" V"+sv+" NO."+a[i].substring(8,9));
}
}
i++;
};
}while(i<a.length); }
}
=============
测试可能不完全,这个应该可以符合要求吧另:这里假定串中的位数、位置是固定的,如果不是,就要用string.split("\s+")取得各段字符了;判断还是一样的
要通过设计数据结构来简化程序逻辑
这样效率很高