teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/07/02 11:16

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,1 +1,34 @@
1
- `[1-9][0-9]{0,4}`で充分な気がしますが...
1
+ `[1-9][0-9]{0,4}`で充分な気がしますが...
2
+
3
+ 利用イメージ
4
+ ---
5
+ ```Java
6
+ import java.io.*;
7
+ import java.util.regex.*;
8
+
9
+ class Main {
10
+ static int myInput(BufferedReader br, String prompt, Pattern p) throws IOException {
11
+ String ret;
12
+
13
+ System.out.print(prompt);
14
+ while(true) {
15
+ ret = br.readLine();
16
+ if(p.matcher(ret).matches()) {
17
+ break;
18
+ }
19
+
20
+ System.out.print(prompt);
21
+ }
22
+
23
+ return Integer.parseInt(ret);
24
+ }
25
+
26
+ public static void main(String[] args) throws IOException {
27
+ try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
28
+ System.out.println(
29
+ myInput(br, "1-99999: ", Pattern.compile("[1-9][0-9]{0,4}"))
30
+ );
31
+ }
32
+ }
33
+ }
34
+ ```

1

修正

2018/07/02 11:16

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,1 +1,1 @@
1
- `[1-9][0-9]{4}`で充分な気がしますが...
1
+ `[1-9][0-9]{0,4}`で充分な気がしますが...