サンプルコード:コマンドラインのQuizゲーム
色々ありまして...
リハビリのために、ごく簡単なゲームを作ってみました。
コマンドラインのQuizゲーム (Java 7 and later) - Gist
下記ページを参考にしています。
クイズを作りたいのだがうまくいかない。(21547)|teratail
選択肢数が1~10まで設定できるようになっています。
エラー処理は適当です。
肝心の、クイズの問題がありません。
(おわり)
System.in, System.out, System.errを再初期化する
またかなり間が空いてしまいましてすみません。
今さら感あふれるネタですが、知らなかったのでメモ。
結論を先に書きます。
下記ページで知りました。
- java - Resetting Standard output Stream - Stack Overflow http://stackoverflow.com/questions/5339499/resetting-standard-output-stream
System.in
, System.out
, System.err
の再初期化は、下記のようにします。
FileDescriptor
を使うのがポイントです。
// import java.io.*; System.setIn(new BufferedInputStream(new FileInputStream(FileDescriptor.in))); System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))); System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err)));
ただし、これだけでは完全ではありません。理由は後述します。
元々入っているのを退避しておいて、後で戻す方法でも、もちろんOKです。
これについても後述します。
Maven Siteプラグインの参考になるかも...? Minestra 1.0.0 beta1
下記エントリーで書いたライブラリーのバージョン 1.0.0 beta1 です。Mavenリポジトリーにはまだ登録してません。いずれ登録します。
習作:Minestra - Java8以降対応のユーティリティーライブラリー #java8
Release v1.0.0 beta1 - argius/minestra
Maven Site プラグインでサイトを作りました。
Minestra - A Small Utilities Library for Java8
ロゴも作ってみました。上に貼ってある画像です。
フォントはAdine Kirnberg Font Familyというのを使わせていただきました。ありがとうございます。
Adine Kirnberg Font Family - 1001 Fonts
Mavenコンパイラープラグインでcompactプロファイルを指定する
また前回から1ヶ月空いてしまったので、つなぎとして超短いエントリーを書きます。
compactプロファイルを指定してコンパイルするには、こうします。
$ javac -profile compact1 *.java
Mavenのコンパイラープラグインで指定するには、こうします。コマンドラインのオプションをcompilerArguments
タグの中に指定するだけですね。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>8</source> <target>8</target> <compilerArguments> <profile>compact1</profile> </compilerArguments> <charset>UTF-8</charset> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> <pluginManagement> </pluginManagement> </build>
(おわり)
習作:Minestra - Java8以降対応のユーティリティーライブラリー #java8
Java8未満を切り捨てて色々と作ってみるシリーズ。
Releases · argius/minestra - GitHub
Java8以降向けのユーティリティー集ライブラリーです。
名前は "Minestra" 。イタリア語でスープの意味です。名前には特に意味はありません。
近況
前回の記事から1ヶ月近く経過してしまいました。
ここ最近は、Java標準ライブラリー関連の記事がご好評いただいているので、そっち方面で何か書きたいのですが、ネタが浮かばず。
それと、本業が少し立て込んでいて、今月はあまり余裕が無いという事情もあります。
ただ、何もしていないわけではなくて、こっそり小さなソフトをいくつか書いてGitHubにアップしたりしています。
近日もうひとつ追加予定です。
最近作った(作っている)ものは、Java8の機能、とりわけラムダ&ストリームを全体的に使って作ったものですので、もしかしたら参考になるかも知れません。お手本といえるほど上手なコードではありませんが...
ドキュメントは(poorな)英語で書いているので、もし日本語の説明リクエストがありましたら、どこかに日本語の説明を書きます。
GitHubは、他のプロジェクトのcontribution活動も挑戦していきたいと思っています。
(skinnyはすみません最近見れてません。余裕ができたら再開します。)