0

私はJavaテクノロジーが初めてなので、SequenceInputStreamを使用していましたが、以下のコードを試しましたが、正確な問題を見つけることができません。親切に助けてください

public class SequenceInput {


public static void main(String[] args) throws IOException {

    Enumeration e=new MyEnum();
    SequenceInputStream sin=new SequenceInputStream(e);
    DataInputStream din=new DataInputStream(sin);

    String s="";
    while(null !=s) {
        s=din.readLine();

        if(null !=s) {
            System.out.println(s);
        }
    }
    din.close();
//      new Vector().elements();




}


//Enumeration Class

public class MyEnum implements Enumeration{

    InputStream in[];
    int i=0;

    public  MyEnum(){
    try {
        in=new InputStream[] {new FileInputStream("src/a1.txt"),new FileInputStream("src/a2.txt"),new FileInputStream("src/a3.txt"),new FileInputStream("src/a4.txt")};
    }
    catch(Exception e) {

    }


}

    @Override
    public boolean hasMoreElements() {
        if(in.length<=4) {
            return true;
        }
        else
        return false;
    }

    @Override
    public Object nextElement() {

        return in[i++];
    }



}
}

この行Enumeration e=new MyEnum()で; 表示されています - タイプの囲みインスタンスにSequenceInputアクセスできません。タイプの囲みインスタンスで割り当てを修飾する必要がありますSequenceInput(たとえばx.new A()、 wherexは のインスタンスですSequenceInput)。

正確な問題がわかりません。

それ以外の場合は、使用new Vector().add()しましたが、正常に動作していましたsequenceInputStream。上記のコードについて知りたい..どこで間違いを犯していますか。

前もって感謝します。

4

2 に答える 2

1

囲んでいるインスタンスを必要とせずにクラスにアクセスするには、それを作成する必要がありますstatic

public static class MyEnum implements Enumeration {
    ...
}
于 2013-09-07T11:59:19.350 に答える
0

これをチェックして

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;
import java.util.Enumeration;

public class SequenceInput {


public static void main(String[] args) throws IOException {

    Enumeration e=new MyEnum();
    SequenceInputStream sin=new SequenceInputStream(e);
    DataInputStream din=new DataInputStream(sin);

    String s="";
    while(null !=s) {
        s=din.readLine();

        if(null !=s) {
            System.out.println(s);
        }
    }
    din.close();
//      new Vector().elements();




}


//Enumeration Class

public static class MyEnum implements Enumeration{

    InputStream in[];
    int i=0;

    public  MyEnum(){
    try {
        in=new InputStream[] {new FileInputStream("src/a1.txt"),new FileInputStream("src/a2.txt"),new FileInputStream("src/a3.txt"),new FileInputStream("src/a4.txt")};
    }
    catch(Exception e) {

    }


}

    @Override
    public boolean hasMoreElements() {
        if(in.length<=4) {
            return true;
        }
        else
        return false;
    }

    @Override
    public Object nextElement() {

        return in[i++];
    }



}
}
于 2013-09-07T11:58:56.277 に答える