Scannerクラスとnextメソッドを使用すると、キーボードから入力された文字列や数値を読み取ることができます。
Scanner scan = new Scanner(System.in); String str = scan.next();データ型について次の表のようになります。
| メソッド | 読込型 | 読込値 | |
|---|---|---|---|
| 論理値 | nextBoolean() | boolean | true,false |
| 整数 | nextByte() | byte | ‐128~+127 |
| nextShort() | Short | ‐32,768~+32767 | |
| nextInt() | Int | ‐2,147,483,648~2,147,483,64 | |
| nextLong() | Long | ‐9,223,372,036,854,775,808~+9,223,372,036,854,775,807 | |
| 浮動小数点 | nextFloat() | Float | ±3.40282347E+38~±1.40239846E‐45 |
| nextDouble() | Double | ±1.79769313486231507E+378~±4.94065645841246544E‐324 | |
| 文字列 | next() | String | 文字列(スペース・改行等で区切り) |
| nextLine() | String | 文字列(1行) |
package JSample;
import java.util.Scanner;
public class JSample19_1 {
public static void main(String[] args) {
System.out.println("キーボードから入力してください");
Scanner scan = new Scanner(System.in);
String str = scan.next();
System.out.println("入力された文字は「" + str + "」です。");
}
}
実行結果
package JSample;
import java.util.Scanner;
public class JSample19_2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("キーボードから入力してください");
String str = scan.nextLine();
Boolean boo = scan.nextBoolean();
Double dbl = scan.nextDouble();
scan.close();
System.out.println("Double: " + dbl);
System.out.println("Boolean: " + boo);
System.out.println("String: " + str);
}
}
実行結果「InputStreamReaderクラス」、「BufferedReaderクラス」、「readLineメソッド」を組み合わせて使用すると、キーボードから入力された文字列を読み取ることができます。
InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);
package JSample;
public class JSample19_3 {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("キーボードから入力してください");
String str = br.readLine();
br.close();
System.out.println("入力された文字は「" + str + "」です");
}
}
実行結果
問題[JEx19_1]
forループで、実行結果が 1*2*3...*nの階乗になるような文を作ってください。ただし、n は キーボードから与えるものとする。
例(入力変数n=10の時): 1!=1 2!=1*2 3!=1*2*3 4!=1*2*3*4 5!=1*2*3*4*5 6!=1*2*3*4*5*6 7!=1*2*3*4*5*6*7 8!=1*2*3*4*5*6*7*8 9!=1*2*3*4*5*6*7*8*9 10!=1*2*3*4*5*6*7*8*9*10 キーボードから入力してください 10!=3628800