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