回答編集履歴

1

ソースにコメントを追記

2017/07/21 05:41

投稿

mr-hisa-child
mr-hisa-child

スコア294

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