回答編集履歴
1
ソースにコメントを追記
test
CHANGED
@@ -52,13 +52,17 @@
|
|
52
52
|
|
53
53
|
String input = b.readLine();
|
54
54
|
|
55
|
+
|
56
|
+
|
55
|
-
int pos = 0;
|
57
|
+
int pos = 0; // substringの開始位置
|
56
58
|
|
57
59
|
|
58
60
|
|
59
61
|
for (int i = 0; i < input.length(); i++) {
|
60
62
|
|
61
63
|
|
64
|
+
|
65
|
+
// 使用できる文字がなくなったら、出力をやめる
|
62
66
|
|
63
67
|
if(pos == ALPHABET.length()) break;
|
64
68
|
|
@@ -70,21 +74,29 @@
|
|
70
74
|
|
71
75
|
|
72
76
|
|
77
|
+
// substring()終了位置設定
|
78
|
+
|
73
79
|
int endPos = pos + num;
|
74
80
|
|
75
81
|
|
76
82
|
|
77
83
|
if (endPos > ALPHABET.length()) {
|
78
84
|
|
85
|
+
// 文字を取り出す際に取り出す終了位置がALPHABETの文字数を超える場合(z以降を取得しようとする場合)は、最後のzまでを取得する
|
86
|
+
|
79
87
|
endPos = ALPHABET.length();
|
80
88
|
|
81
89
|
}
|
82
90
|
|
91
|
+
|
83
92
|
|
93
|
+
// 定数ALPHABETから、開始位置と終了位置で文字を抽出し出力する
|
84
94
|
|
85
95
|
System.out.println(ALPHABET.substring(pos, endPos));
|
86
96
|
|
87
97
|
|
98
|
+
|
99
|
+
// 次の開始位置を設定
|
88
100
|
|
89
101
|
pos = endPos;
|
90
102
|
|