2012年07月29日(日) [長年日記]
■ [java] java.util.Scanner#findWithinHorizon()
ScannerクラスのfindWithinHorizon()メソッドの仮引数horizonの意味が分からなかったのでメモ。horizonは検索対象とする文字数を意味するようだ。テストをメモ。
import java.util.Scanner; import org.junit.Before; import org.junit.Test; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; public class ScannerTest1 { private Scanner scanner; @Before public void setup() { scanner = new Scanner("珈琲\n紅茶"); } @Test public void horizon5() { assertThat(scanner.findWithinHorizon("紅茶", 5), is("紅茶")); } @Test public void horizon4() { assertThat(scanner.findWithinHorizon("紅茶", 4), nullValue()); } @Test public void horizon0() { assertThat(scanner.findWithinHorizon("紅茶", 0), is("紅茶")); } }
■ [java] java.util.Scannerは先頭/末尾の空トークンを無視する
Scannerのトークンの切り出し方も分かりにくかったのでメモ。普通は空トークンも切り出してくれるんだけど、先頭と末尾だけは無視してしまうようだ。これは不便だなあ。
import java.util.Scanner; import org.junit.Test; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; public class ScannerTest2 { @Test public void comma0() { Scanner scanner = new Scanner("one,two,,"); scanner.useDelimiter(","); assertThat(scanner.next(), is("one")); assertThat(scanner.next(), is("two")); assertThat(scanner.next(), is("")); assertThat(scanner.hasNext(), is(false)); } @Test public void comma1() { Scanner scanner = new Scanner(",one,two,,"); scanner.useDelimiter(","); assertThat(scanner.next(), is("one")); // いきなりoneが得られてしまう! assertThat(scanner.next(), is("two")); assertThat(scanner.next(), is("")); assertThat(scanner.hasNext(), is(false)); } @Test public void comma2() { Scanner scanner = new Scanner(",,one,two,,"); scanner.useDelimiter(","); assertThat(scanner.next(), is("")); assertThat(scanner.next(), is("one")); assertThat(scanner.next(), is("two")); assertThat(scanner.next(), is("")); assertThat(scanner.hasNext(), is(false)); } }
■ [サッカー] ロンドンオリンピック 男子 日本vsモロッコ (ニューカッスル)
リーグ戦の2戦目は対モロッコ。モロッコはアフリカの左上、スペインの下に位置する国である。日本は怪我の酒井宏の代わりに酒井高が先発。酒井高はそのまま右サイド。酒井左徳永右の方がいい気がするけれど。あと、大津がトップで永井が左サイドに位置していることが多かった。
モロッコは力強くて足元も上手い。試合開始から暫くはモロッコペース。ドリブルで突破され危ないシーンが何度も。途中からは日本が盛り返し、前半終了近くはコーナーキックなどから何度か惜しいシーンを作ったが決められず。日本の選手は疲れているのか元気がない。
後半も立ち上がりはモロッコペース。それを凌いで徐々に日本が主導権を握るように。そして清武が素晴らしいミドルシュート。が、GKが弾いてバーに当たってGKキャッチ。大津が打った強いミドルシュートもGKが触って枠外へ。相手ゴールキーパー冴えている。あと山口が抜け出した絶好のチャンスもあったがシュートはバーのちょっと上へ。モロッコは選手交代してからうまくいかなくなってきた。ただし7番ラビアドのミドルシュートは脅威。日本はなかなか交代しなくて苛々したが、30分頃漸く大津を斎藤に交代。永井を杉本に交代しろよと思っていたら、清武の相手DF背後へのパスに永井が快速で走り込み、出てきたキーパーを越す山なりのロングシュートを打ちそれが入った。永井やりおった。
その後清武を杉本に交代。ロスタイムに日本DFの裏へ入られてGKと1対1になったが権田が弾きそのこぼれを打たれたシュートも吉田?が弾いてギリギリ勝利。これでトーナメント進出決定。