LoginSignup
2
0

More than 3 years have passed since last update.

Java 標準入力

Last updated at Posted at 2020-11-27

はじめに

学習用のメモになります。

標準入力とは?

もともとはLINUXなどのUnix系OSで用意されていた仕組みです。
標準入力に対応するようにプログラムを作っておけば、プログラム実行時に、ファイルを読み込んだり、キーボードからデータを読み込んだり、パラメータを指定したりというように、入力先を切り替えることができます。

標準入力から文字列の読み込み

Main.java
// 標準入力
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //Scanner クラスは標準入力を取得するのに必要
        String line = sc.next();    //1行分入力を取得する:nextLine()
        System.out.println(line);
    }
}

Scanner sc = new Scanner(System.in);

標準入力を読み込むために必要

String line = sc.next();

標準入力された値をline変数に代入している

標準入力から数値の読み込み

Main.java
// 標準入力
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int line = sc.nextInt();            //データ型をintで数値に変換
        System.out.println(line);
    }
}

複数データを読み込む

入力値

3
Java
Ruby
HTML
Main.java
// 標準入力とループ処理
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int count = sc.nextInt();
        System.out.println("データ個数 "+count);

        String data;
        for(int i =0;i<count;i++){
             data = sc.next();
             System.out.println("hello " + data);
        }

    }
}

出力値

データ個数 3
hello Java
hello Ruby
hello HTML

1行に複数要素がある場合

splitメソッドで,区切りで要素を配列(array)に代入する

Main.java
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String data = sc.nextLine();

        String[] array = data.split("、");
        System.out.println(array[0]);
    }
}

複数行の要素を出力する場合

Main.java
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (sc.hasNextLine()) {
            String data = sc.nextLine();
            System.out.println(data);
        }
    }
}

hasNextLineメソッドは入力する行がまだあるかみているメソッド

while (sc.hasNextLine())
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0