import java.util.Vector;public class test {
private String word="";
private int =0;
public test(){}
public test(String word,int ){
this.word=word;
this.=;
}
public String getWord(){
return word;
}
public int getMark(){
return ;
}
public static void main(String args[]) {
test t=new test();
Vector v = new Vector();
char s = 'A';
String[] p = {"B","D","G","B","K","B"}; for (int i = 1; i <= 26; i++) {
v.add(new test(s+"",0));
s = (char) ( (int) s + 1);
}
for(int i=0;i<v.size();i++){
t=(test)v.get(i);
for(int j=0;j<p.length;j++){
if(p[j].equals(t.getWord())){
if(t.getMark()==0){
v.setElementAt(new test(t.getWord(),1),i);
}
if(t.getMark()==1){
//为什么下面一行没有插入进去?
v.insertElementAt(new test(t.getWord(),1),i);
}
}
}
}
for(int i=0;i<v.size();i++){
t=(test)v.get(i);
System.out.println(t.getWord()+" , "+t.getMark());
}
}
}谁能告诉我上面的错在哪?
private String word="";
private int =0;
public test(){}
public test(String word,int ){
this.word=word;
this.=;
}
public String getWord(){
return word;
}
public int getMark(){
return ;
}
public static void main(String args[]) {
test t=new test();
Vector v = new Vector();
char s = 'A';
String[] p = {"B","D","G","B","K","B"}; for (int i = 1; i <= 26; i++) {
v.add(new test(s+"",0));
s = (char) ( (int) s + 1);
}
for(int i=0;i<v.size();i++){
t=(test)v.get(i);
for(int j=0;j<p.length;j++){
if(p[j].equals(t.getWord())){
if(t.getMark()==0){
v.setElementAt(new test(t.getWord(),1),i);
}
if(t.getMark()==1){
//为什么下面一行没有插入进去?
v.insertElementAt(new test(t.getWord(),1),i);
}
}
}
}
for(int i=0;i<v.size();i++){
t=(test)v.get(i);
System.out.println(t.getWord()+" , "+t.getMark());
}
}
}谁能告诉我上面的错在哪?
有一个Vector,初始值为 v(A,0),(B,0),(C,0)....,(Z,0),有一个数组p[]={"B","D","B","E","B"},
比较v中的word和p[i],如果相等则,{1。如果=0,则把v中的=1;2。如果=1,刚在v的后面插入一条数据(p[i],1)其中=1},其结果大致如下,A,0
B,1
B,1
B,1
C,0
D,1
E,1
F,0
G,0
...
Z,0
A,0
B,1
B,1
B,1
C,0
D,1
E,1
F,0
G,0
...
Z,0
的结果呢?
//为什么下面一行没有插入进去?
前面加句:t=(test)v.get(i);应该就可以了
insertElementAt()这个方法最好别用,效率太低了,要插入元素的话用LinkedList
private String word="";
private int =0;
public test(){}
public test(String word,int ){
this.word=word;
this.=;
}
public String getWord(){
return word;
}
public int getMark(){
return ;
}
public static void main(String args[]) {
test t=new test();
Vector v = new Vector();
char s = 'A';
String[] p = {"B","D","G","B","K","B"}; for (int i = 1; i <= 26; i++) {
v.add(new test(s+"",0));
s = (char) ( (int) s + 1);
}
for(int i=0;i<v.size();i++){
t=(test)v.get(i);
if(t.getMark() == 1)
continue;
int pos = -1;
for(int j=0;j<p.length;j++){
if(p[j].equals(t.getWord())){
if(t.getMark()==0){
v.add(i+1,new test(t.getWord(),1));
if(pos<0) pos = i;
}
}
}
if(pos>0)
v.remove(pos);
}
for(int i=0;i<v.size();i++){
t=(test)v.get(i);
System.out.println(t.getWord()+" , "+t.getMark());
}
}
}
//最后附句,vector性能不是很好。最好用LinkedList做。