質問: CodeIQ()の問題に挑戦しているのですが、ideoneで自動採点される問題の、標準入力と標準出力の書き方がわかりません。 選択言語はJavaです。 例えば、以下のような問題があったとしてどのように書けばいいのでしょうか。 【問題】 標準入力から整数が一行に一つ入力されます。偶数を求めなさい。 【入出力サンプル】 INPUT ``` 1 23 456 7891 ``` OUTPUT ``` 456 ``` 各プログラミング言語の標準入出力サンプル()も見たのですが、よくわかりませんでした。 宜しくお願いいたします。
回答: やり方は色々ありますのでその内のひとつとして以下に例を示します。 javaで標準入力と言えば、System.inのことです。 正確には標準入力ストリーム(クラスとしてはInputStream)と言います。 標準出力はSystem.out 正確には標準出力ストリーム(クラスとしてはPrintStream)と言います。 ストリームは言わば文字の列・並びのことです。 文字の並びを入力してintとして読み込むには変換する必要がありますが、 こういう場合文字列として読み込んでそれからintに変換したりしますが、 Scannerを使うと文字のストリームから変換や変換可能なデータが残っているかのチェックなどができます。 以下はScannerを使ったintの読込の例 ``` import java.util.Scanner; public class InputInt { public static void main(String[] args) { Scanner sc = new Scanner(System.in);//標準入力ストリームからScannerのインスタンスを作る while(sc.hasNextInt()){//ストリームからintとして読込できるか調べる int n = sc.nextInt();//ストリームからintに変換して読み込む if(n % 2 == 0){//偶数であるか? System.out.println(n);//標準出力ストリームに書き出す } } } } ```