19568


CodeIQ（<https://codeiq.jp/>）の問題に挑戦しているのですが、ideoneで自動採点される問題の、標準入力と標準出力の書き方がわかりません。  
選択言語はJavaです。  
例えば、以下のような問題があったとしてどのように書けばいいのでしょうか。

【問題】  
標準入力から整数が一行に一つ入力されます。偶数を求めなさい。

【入出力サンプル】  
INPUT

[code]

    1
    23
    456
    7891
    
[/code]

OUTPUT

[code]

    456
    
[/code]

各プログラミング言語の標準入出力サンプル（<https://codeiq.jp/node/1598>）も見たのですが、よくわかりませんでした。

宜しくお願いいたします。


CC BY-SA 3.0
2015-12-02T10:55:21.667
19558
2015-12-02T15:58:16.203
2015-12-02T14:18:40.310
76
13492
question
java
CodeIQで標準入力と標準出力がわかりません


やり方は色々ありますのでその内のひとつとして以下に例を示します。  
javaで標準入力と言えば、[System.in](https://docs.oracle.com/javase/jp/7/api/java/lang/System.html#in)のことです。  
正確には標準入力ストリーム(クラスとしてはInputStream)と言います。  
標準出力は[System.out](https://docs.oracle.com/javase/jp/7/api/java/lang/System.html#out)  
正確には標準出力ストリーム(クラスとしてはPrintStream)と言います。

ストリームは言わば文字の列・並びのことです。  
文字の並びを入力してintとして読み込むには変換する必要がありますが、  
こういう場合文字列として読み込んでそれからintに変換したりしますが、  
[Scanner](https://docs.oracle.com/javase/jp/7/api/java/util/Scanner.html)を使うと文字のストリームから変換や変換可能なデータが残っているかのチェックなどができます。  
以下はScannerを使ったintの読込の例

[code]

    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);//標準出力ストリームに書き出す
                }
            }
        }
    }
    
[/code]


CC BY-SA 3.0
2015-12-02T14:31:05.610
19568
2015-12-02T15:58:16.203
2015-12-02T15:58:16.203
5044
5044
19558
answer