pushbackストリームの例
1299 ワード
PushbackストリームにはPushbackInputStreamとPushbackReadがあります.
例:
本の一例.
まとめ:
1,pushbackは「文法のスキャン」に適用される.
2、上の例はSystemを探しています.inに入力された連続する重複する文字は、読んだ後になって初めて、連続して重複していないことがわかります.ロールバックが必要です.
3、eclipseでテストができなくて、Systemができません.inが終了し、cmdで実行し、「ctrl+c」が終了する必要があります.cmdを開き、eclipseプロジェクトのbinディレクトリの下に切り替え、java+packageを使用します.classの名前は、主にclassのフルパスで実行されます.
4,読み込んだのはintで,8であればassic符号化maxBは58となる.char強制変換が必要で、8になりました.
例:
public class SequenceCount {
public static void main(String[] args) throws IOException {
PushbackInputStream in = new PushbackInputStream(System.in);
int max = 0; // longest sequence found
int maxB = -1; // the byte in that sequence
int b; // current byte in input
do {
int cnt;
int b1 = in.read(); // 1st byte in sequence
for(cnt = 1; (b = in.read()) == b1; cnt++) {
continue;
}
if(cnt > max) {
max = cnt; // remember length
maxB = b1; // remember which byte value
}
in.unread(b); // pushback start of next sequence
} while(b != -1); // until we hit end of input
System.out.println(max + " bytes of " + (char)maxB);
}
}
本の一例.
まとめ:
1,pushbackは「文法のスキャン」に適用される.
2、上の例はSystemを探しています.inに入力された連続する重複する文字は、読んだ後になって初めて、連続して重複していないことがわかります.ロールバックが必要です.
3、eclipseでテストができなくて、Systemができません.inが終了し、cmdで実行し、「ctrl+c」が終了する必要があります.cmdを開き、eclipseプロジェクトのbinディレクトリの下に切り替え、java+packageを使用します.classの名前は、主にclassのフルパスで実行されます.
4,読み込んだのはintで,8であればassic符号化maxBは58となる.char強制変換が必要で、8になりました.