質問編集履歴

14

誤字

2017/04/29 16:34

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -64,26 +64,26 @@
64
64
 
65
65
  //そして、dateをcheckdateにいれる
66
66
 
67
+ // checkdata=date.substring(0, date.indexOf(":"));
68
+
69
+
70
+
71
+
72
+
73
+ } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
74
+
75
+ // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
76
+
77
+ textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
78
+
79
+ //そして、dateをcheckdateにいれる
80
+
81
+ //dateは、前のコメントの日付のはず
82
+
67
83
  checkdata=date.substring(0, date.indexOf(":"));
68
84
 
69
85
 
70
86
 
71
-
72
-
73
- } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
74
-
75
- // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
76
-
77
- textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
78
-
79
- //そして、dateをcheckdateにいれる
80
-
81
- //dateは、前のコメントの日付のはず
82
-
83
- checkdata=date.substring(0, date.indexOf(":"));
84
-
85
-
86
-
87
87
  }else if(checkdata=="初期値"){
88
88
 
89
89
  textLog+="初期値です\n";

13

解決

2017/04/29 16:34

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,58 @@
1
- 掲示板への書き込みの際にcheckdataとい変数が、交互checkdataがから文字になってしいます。なぜなのでしょか?アドバイスをいただきたいです。
1
+ dataは、「4/29:22:34」のように表示されます。nameは、「ito」名前commentは、「おはよ」などです。
2
+
3
+
4
+
5
+ このコードのようにする事で、解決しました。
2
6
 
3
7
  ```java
4
8
 
9
+ String checkdata="初期値";
10
+
11
+
12
+
13
+ for (int i = 1; i <= c.getCount(); i++) {
14
+
15
+
16
+
17
+ String date = c.getString(0);
18
+
19
+ String name = c.getString(1);
20
+
21
+ String comment = c.getString(2);
22
+
23
+
24
+
25
+
26
+
27
+ if(i==1) {
28
+
29
+
30
+
31
+ textLog +="(あ)"+date + " " + name + ": " + comment + "\n";
32
+
33
+
34
+
35
+ //そして、dateの日付をcheckdateにいれる
36
+
37
+ checkdata=date.substring(0, date.indexOf(":"));
38
+
39
+
40
+
41
+ /////////////分が同じならifでとおってる、そして、時間全部を消してる
42
+
43
+ //dateの:以前をcheckdateにいれて、replaceするように
44
+
45
+
46
+
47
+ }else if(date.startsWith(checkdata)){ //(dateにcheckdataが含まれる場合) checkdateは前のコメントの日付
48
+
49
+
50
+
51
+ //前のコメントと日にちが同じ場合は月日を省く
52
+
53
+ date= date.replaceAll(checkdata, "");
54
+
5
- if(checkdata.length() == 0 ){
55
+ if(checkdata.length() == 0 ){
6
56
 
7
57
  textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
8
58
 
@@ -10,31 +60,89 @@
10
60
 
11
61
  textLog +="(い)"+checkdata+"checkdataを表示 checkdataはから文字じゃない"+ date +" "+ name + ": " + comment + "\n"; }
12
62
 
63
+
64
+
13
-
65
+ //そして、dateをcheckdateにいれる
66
+
67
+ checkdata=date.substring(0, date.indexOf(":"));
68
+
69
+
70
+
71
+
72
+
73
+ } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
74
+
75
+ // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
76
+
77
+ textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
78
+
79
+ //そして、dateをcheckdateにいれる
80
+
81
+ //dateは、前のコメントの日付のはず
82
+
83
+ checkdata=date.substring(0, date.indexOf(":"));
84
+
85
+
86
+
87
+ }else if(checkdata=="初期値"){
88
+
89
+ textLog+="初期値です\n";
90
+
91
+ }
14
92
 
15
93
  ```
16
94
 
17
- (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
95
+
18
-
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
19
- (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: つれしま
127
+ 掲示板で、日にちが変わった日の最初のコメントだけ、何月何日:何時何分と表示し
128
+
20
-
129
+ 私が書いた下記のコードですと、今日の最初のコメントにだけは、何月何日:何時何分と表示され、今日の2つめ以降のコメントでは、何時何分とだけ表示させられるのですが、
130
+
21
- 実機には、このように交互にcheckdataから文字になってしまいます。
131
+ 昨日から、前の日対しては、全て、何月何日:表示されてしまいます。
132
+
22
-
133
+ どう書けばよいのでしょうか?
23
-
24
-
25
-
26
-
27
-
28
-
134
+
29
- dataは、「4/29:22:34」に表示されます。nameは、「ito」などの名前でcommentは、「おはよう」などです。
135
+ アドバイス方どぞ宜しくお願い致します
136
+
137
+
138
+
139
+
30
140
 
31
141
  ```java
32
142
 
33
- String checkdata="初期値";
34
-
35
-
36
-
37
- for (int i = 1; i <= c.getCount(); i++) {
143
+ for (int i = 1; i <= c.getCount(); i++) {
144
+
145
+ //SQL文の結果から、必要な値を取り出す
38
146
 
39
147
 
40
148
 
@@ -44,186 +152,56 @@
44
152
 
45
153
  String comment = c.getString(2);
46
154
 
155
+
156
+
47
-
157
+ Calendar calendar = Calendar.getInstance();
158
+
159
+ int month = calendar.get(Calendar.MONTH) + 1;
160
+
161
+ int day = calendar.get(Calendar.DATE);
162
+
163
+ String checkdata = month + "/ " + day ;
164
+
165
+
166
+
167
+ if (date.startsWith(checkdata)){
168
+
169
+ // 前方一致の場合は、同じ日だからdateからcheckdataを削除して
170
+
171
+ //昨日は全部表示されてしまう
48
172
 
49
173
 
50
174
 
51
175
  if(i==1) {
52
176
 
53
-
54
-
55
- textLog +="(あ)"+date + " " + name + ": " + comment + "\n";
177
+ textLog +=date + ": " + name + ": " + comment + "\n";
56
-
57
-
58
-
178
+
59
- //そして、dateの日付をcheckdateにいれる
179
+ }else{
60
-
61
- checkdata=date.substring(0, date.indexOf(":"));
62
-
63
-
64
-
65
- /////////////分が同じならifでとおってる、そして、時間全部を消してる
66
-
67
- //dateの:以前をcheckdateにいれて、replaceするように
68
-
69
-
70
-
71
- }else if(date.startsWith(checkdata)){ //(dateにcheckdataが含まれる場合) checkdateは前のコメントの日付
72
-
73
-
74
-
75
- //前のコメントと日にちが同じ場合は月日を省く
76
180
 
77
181
  date= date.replaceAll(checkdata, "");
78
182
 
79
- if(checkdata.length() == 0 ){
80
-
81
- textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
82
-
83
- }else{
84
-
85
- textLog +="(い)"+checkdata+"checkdataを表示 checkdataはから文字じゃない"+ date +" "+ name + ": " + comment + "\n"; }
86
-
87
-
88
-
89
- //そして、dateをcheckdateにいれる
90
-
91
- checkdata=date.substring(0, date.indexOf(":"));
92
-
93
-
94
-
95
-
96
-
97
- } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
98
-
99
- // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
100
-
101
- textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
183
+ textLog += date + ": " + name + ": " + comment + "\n";
102
-
103
- //そして、dateをcheckdateにいれる
104
-
105
- //dateは、前のコメントの日付のはず
106
-
107
- checkdata=date.substring(0, date.indexOf(":"));
108
-
109
-
110
-
111
- }else if(checkdata=="初期値"){
112
-
113
- textLog+="初期値です\n";
114
184
 
115
185
  }
116
186
 
187
+ }
188
+
189
+ else {
190
+
191
+ // 前方一致ではありません、つまり前日とは違う日だから4/29と表示
192
+
193
+ textLog += date + ": " + name + ": " + comment + "\n";
194
+
195
+
196
+
197
+ }
198
+
199
+ textView.setText(textLog);
200
+
201
+
202
+
203
+ c.moveToNext();
204
+
205
+ }
206
+
117
207
  ```
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
- //質問した当初質問文とコードです。
150
-
151
- 掲示板で、日にちが変わった日の最初のコメントだけ、何月何日:何時何分と表示したいです。
152
-
153
- 私が書いた下記のコードですと、今日の最初のコメントにだけは、何月何日:何時何分と表示され、今日の2つめ以降のコメントでは、何時何分とだけ表示させられるのですが、
154
-
155
- 昨日から、前の日に対しては、全て、何月何日:が表示されてしまいます。
156
-
157
- どう書けばよいのでしょうか?
158
-
159
- アドバイスの方どうぞ宜しくお願い致します
160
-
161
-
162
-
163
- ```java
164
-
165
- for (int i = 1; i <= c.getCount(); i++) {
166
-
167
- //SQL文の結果から、必要な値を取り出す
168
-
169
-
170
-
171
- String date = c.getString(0);
172
-
173
- String name = c.getString(1);
174
-
175
- String comment = c.getString(2);
176
-
177
-
178
-
179
- Calendar calendar = Calendar.getInstance();
180
-
181
- int month = calendar.get(Calendar.MONTH) + 1;
182
-
183
- int day = calendar.get(Calendar.DATE);
184
-
185
- String checkdata = month + "/ " + day ;
186
-
187
-
188
-
189
- if (date.startsWith(checkdata)){
190
-
191
- // 前方一致の場合は、同じ日だからdateからcheckdataを削除して
192
-
193
- //昨日は全部表示されてしまう
194
-
195
-
196
-
197
- if(i==1) {
198
-
199
- textLog +=date + ": " + name + ": " + comment + "\n";
200
-
201
- }else{
202
-
203
- date= date.replaceAll(checkdata, "");
204
-
205
- textLog += date + ": " + name + ": " + comment + "\n";
206
-
207
- }
208
-
209
- }
210
-
211
- else {
212
-
213
- // 前方一致ではありません、つまり前日とは違う日だから4/29と表示
214
-
215
- textLog += date + ": " + name + ": " + comment + "\n";
216
-
217
-
218
-
219
- }
220
-
221
- textView.setText(textLog);
222
-
223
-
224
-
225
- c.moveToNext();
226
-
227
- }
228
-
229
- ```

12

説明

2017/04/29 16:08

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,33 +1,33 @@
1
- 現時点 の 未解決の内容
2
-
3
- 変わると最初のコメントだけ日ちを表示るようにきました。
1
+ 掲示板への書き込みの際checkdataという変数が、交互checkdataがから文字になってしまいま。なぜなのでしょうか?アドバイスをいだきたいです
2
+
4
-
3
+ ```java
4
+
5
- しかし、日にちが変わらないと、():0:0 ta: こんにちは
5
+ if(checkdata.length() == 0 ){
6
+
6
-
7
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
8
+
9
+ }else{
10
+
11
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataはから文字じゃない"+ date +" "+ name + ": " + comment + "\n"; }
12
+
13
+
14
+
15
+ ```
16
+
17
+ (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
18
+
7
- のように出力されますが、次のコメントでは、(い)4/30:0:1ta: こんばんわ
19
+ (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
8
-
20
+
9
- のように変わっていないのに4/30と表示されてしまいます。
21
+ 実機には、このように交互checkdataから文字になってしまいます。
10
-
11
- しかし、その次のコメントでは、(い):0:2 ta: いただきます
22
+
12
-
13
- のように日付が出力されないという繰り返しになります。
23
+
24
+
25
+
14
26
 
15
27
 
16
28
 
17
29
  dataは、「4/29:22:34」のように表示されます。nameは、「ito」などの名前でcommentは、「おはよう」などです。
18
30
 
19
-
20
-
21
- このような結果がでます。
22
-
23
- (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
24
-
25
- (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
26
-
27
- のように交互にcheckdataがから文字になってしまいます。
28
-
29
-
30
-
31
31
  ```java
32
32
 
33
33
  String checkdata="初期値";

11

誤字

2017/04/29 16:03

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -14,13 +14,9 @@
14
14
 
15
15
 
16
16
 
17
- dataは、「4/29:22:34」のように表示されます。
17
+ dataは、「4/29:22:34」のように表示されます。nameは、「ito」などの名前でcommentは、「おはよう」などです。
18
-
19
- nameは、「ito」などの名前で
18
+
20
-
21
- commentは、「おはよう」などです。
19
+
22
-
23
- ///////////修正したコードです。
24
20
 
25
21
  このような結果がでます。
26
22
 

10

みやすく

2017/04/29 15:58

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- //////////4月30日 0:19 の 未解決の内容
1
+ 時点 の 未解決の内容
2
2
 
3
3
  日にちが変わると、最初のコメントだけ日にちを表示するようにできました。
4
4
 
@@ -22,6 +22,16 @@
22
22
 
23
23
  ///////////修正したコードです。
24
24
 
25
+ このような結果がでます。
26
+
27
+ (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
28
+
29
+ (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
30
+
31
+ のように交互にcheckdataがから文字になってしまいます。
32
+
33
+
34
+
25
35
  ```java
26
36
 
27
37
  String checkdata="初期値";
@@ -110,20 +120,6 @@
110
120
 
111
121
  ```
112
122
 
113
-
114
-
115
-
116
-
117
- textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
118
-
119
- このようにしたところ、
120
-
121
- (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
122
-
123
- (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
124
-
125
- のように交互にcheckdataがから文字になってしまいます。
126
-
127
123
 
128
124
 
129
125
 

9

みやすく

2017/04/29 15:58

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -134,6 +134,26 @@
134
134
 
135
135
 
136
136
 
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
137
157
  //質問した当初質問文とコードです。
138
158
 
139
159
  掲示板で、日にちが変わった日の最初のコメントだけ、何月何日:何時何分と表示したいです。

8

みやすく

2017/04/29 15:56

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,141 @@
1
+ //////////4月30日 0:19現在 の 未解決の内容
2
+
3
+ 日にちが変わると、最初のコメントだけ日にちを表示するようにできました。
4
+
5
+ しかし、日にちが変わらないと、(い):0:0 ta: こんにちは
6
+
7
+ のように出力されますが、次のコメントでは、(い)4/30:0:1ta: こんばんわ
8
+
9
+ のように日にちが変わっていないのに4/30と表示されてしまいます。
10
+
11
+ しかし、その次のコメントでは、(い):0:2 ta: いただきます
12
+
13
+ のように日付が出力されないという繰り返しになります。
14
+
15
+
16
+
17
+ dataは、「4/29:22:34」のように表示されます。
18
+
19
+ nameは、「ito」などの名前で
20
+
21
+ commentは、「おはよう」などです。
22
+
23
+ ///////////修正したコードです。
24
+
25
+ ```java
26
+
27
+ String checkdata="初期値";
28
+
29
+
30
+
31
+ for (int i = 1; i <= c.getCount(); i++) {
32
+
33
+
34
+
35
+ String date = c.getString(0);
36
+
37
+ String name = c.getString(1);
38
+
39
+ String comment = c.getString(2);
40
+
41
+
42
+
43
+
44
+
45
+ if(i==1) {
46
+
47
+
48
+
49
+ textLog +="(あ)"+date + " " + name + ": " + comment + "\n";
50
+
51
+
52
+
53
+ //そして、dateの日付をcheckdateにいれる
54
+
55
+ checkdata=date.substring(0, date.indexOf(":"));
56
+
57
+
58
+
59
+ /////////////分が同じならifでとおってる、そして、時間全部を消してる
60
+
61
+ //dateの:以前をcheckdateにいれて、replaceするように
62
+
63
+
64
+
65
+ }else if(date.startsWith(checkdata)){ //(dateにcheckdataが含まれる場合) checkdateは前のコメントの日付
66
+
67
+
68
+
69
+ //前のコメントと日にちが同じ場合は月日を省く
70
+
71
+ date= date.replaceAll(checkdata, "");
72
+
73
+ if(checkdata.length() == 0 ){
74
+
75
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
76
+
77
+ }else{
78
+
79
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataはから文字じゃない"+ date +" "+ name + ": " + comment + "\n"; }
80
+
81
+
82
+
83
+ //そして、dateをcheckdateにいれる
84
+
85
+ checkdata=date.substring(0, date.indexOf(":"));
86
+
87
+
88
+
89
+
90
+
91
+ } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
92
+
93
+ // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
94
+
95
+ textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
96
+
97
+ //そして、dateをcheckdateにいれる
98
+
99
+ //dateは、前のコメントの日付のはず
100
+
101
+ checkdata=date.substring(0, date.indexOf(":"));
102
+
103
+
104
+
105
+ }else if(checkdata=="初期値"){
106
+
107
+ textLog+="初期値です\n";
108
+
109
+ }
110
+
111
+ ```
112
+
113
+
114
+
115
+
116
+
117
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
118
+
119
+ このようにしたところ、
120
+
121
+ (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
122
+
123
+ (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
124
+
125
+ のように交互にcheckdataがから文字になってしまいます。
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ //質問した当初質問文とコードです。
138
+
1
139
  掲示板で、日にちが変わった日の最初のコメントだけ、何月何日:何時何分と表示したいです。
2
140
 
3
141
  私が書いた下記のコードですと、今日の最初のコメントにだけは、何月何日:何時何分と表示され、今日の2つめ以降のコメントでは、何時何分とだけ表示させられるのですが、
@@ -6,41 +144,15 @@
6
144
 
7
145
  どう書けばよいのでしょうか?
8
146
 
9
- アドバイスの方どうぞ宜しくお願い致します
147
+ アドバイスの方どうぞ宜しくお願い致します
10
-
11
-
12
-
13
- //////////4月30日 0:19現在 の 未解決の内容
148
+
14
-
15
- 日にちが変わると、最初のコメントだけ日にちを表示するようにできました。
149
+
16
-
17
- しかし、日にちが変わらないと、(い):0:0 ta: こんにちは
18
-
19
- のように出力されますが、次のコメントでは、(い)4/30:0:1ta: こんばんわ
20
-
21
- のように日にちが変わっていないのに4/30と表示されてしまいます。
22
-
23
- しかし、その次のコメントでは、(い):0:2 ta: いただきます
24
-
25
- のように日付が出力されないという繰り返しになります。
26
-
27
-
28
-
29
- dataは、「4/29:22:34」のように表示されます。
30
-
31
- nameは、「ito」などの名前で
32
-
33
- commentは、「おはよう」などです。
34
-
35
- ///////////修正したコードです。
36
150
 
37
151
  ```java
38
152
 
39
- String checkdata="初期値";
40
-
41
-
42
-
43
- for (int i = 1; i <= c.getCount(); i++) {
153
+ for (int i = 1; i <= c.getCount(); i++) {
154
+
155
+ //SQL文の結果から、必要な値を取り出す
44
156
 
45
157
 
46
158
 
@@ -50,166 +162,56 @@
50
162
 
51
163
  String comment = c.getString(2);
52
164
 
165
+
166
+
53
-
167
+ Calendar calendar = Calendar.getInstance();
168
+
169
+ int month = calendar.get(Calendar.MONTH) + 1;
170
+
171
+ int day = calendar.get(Calendar.DATE);
172
+
173
+ String checkdata = month + "/ " + day ;
174
+
175
+
176
+
177
+ if (date.startsWith(checkdata)){
178
+
179
+ // 前方一致の場合は、同じ日だからdateからcheckdataを削除して
180
+
181
+ //昨日は全部表示されてしまう
54
182
 
55
183
 
56
184
 
57
185
  if(i==1) {
58
186
 
59
-
60
-
61
- textLog +="(あ)"+date + " " + name + ": " + comment + "\n";
187
+ textLog +=date + ": " + name + ": " + comment + "\n";
62
-
63
-
64
-
188
+
65
- //そして、dateの日付をcheckdateにいれる
189
+ }else{
66
-
67
- checkdata=date.substring(0, date.indexOf(":"));
68
-
69
-
70
-
71
- /////////////分が同じならifでとおってる、そして、時間全部を消してる
72
-
73
- //dateの:以前をcheckdateにいれて、replaceするように
74
-
75
-
76
-
77
- }else if(date.startsWith(checkdata)){ //(dateにcheckdataが含まれる場合) checkdateは前のコメントの日付
78
-
79
-
80
-
81
- //前のコメントと日にちが同じ場合は月日を省く
82
190
 
83
191
  date= date.replaceAll(checkdata, "");
84
192
 
85
- if(checkdata.length() == 0 ){
86
-
87
- textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
88
-
89
- }else{
90
-
91
- textLog +="(い)"+checkdata+"checkdataを表示 checkdataはから文字じゃない"+ date +" "+ name + ": " + comment + "\n"; }
92
-
93
-
94
-
95
- //そして、dateをcheckdateにいれる
96
-
97
- checkdata=date.substring(0, date.indexOf(":"));
98
-
99
-
100
-
101
-
102
-
103
- } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
104
-
105
- // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
106
-
107
- textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
193
+ textLog += date + ": " + name + ": " + comment + "\n";
108
-
109
- //そして、dateをcheckdateにいれる
110
-
111
- //dateは、前のコメントの日付のはず
112
-
113
- checkdata=date.substring(0, date.indexOf(":"));
114
-
115
-
116
-
117
- }else if(checkdata=="初期値"){
118
-
119
- textLog+="初期値です\n";
120
194
 
121
195
  }
122
196
 
197
+ }
198
+
199
+ else {
200
+
201
+ // 前方一致ではありません、つまり前日とは違う日だから4/29と表示
202
+
203
+ textLog += date + ": " + name + ": " + comment + "\n";
204
+
205
+
206
+
207
+ }
208
+
209
+ textView.setText(textLog);
210
+
211
+
212
+
213
+ c.moveToNext();
214
+
215
+ }
216
+
123
217
  ```
124
-
125
-
126
-
127
-
128
-
129
- textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
130
-
131
- このようにしたところ、
132
-
133
- (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
134
-
135
- (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
136
-
137
- のように交互にcheckdataがから文字になってしまいます。
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
- //質問した当初のコードです。
148
-
149
- ```java
150
-
151
- for (int i = 1; i <= c.getCount(); i++) {
152
-
153
- //SQL文の結果から、必要な値を取り出す
154
-
155
-
156
-
157
- String date = c.getString(0);
158
-
159
- String name = c.getString(1);
160
-
161
- String comment = c.getString(2);
162
-
163
-
164
-
165
- Calendar calendar = Calendar.getInstance();
166
-
167
- int month = calendar.get(Calendar.MONTH) + 1;
168
-
169
- int day = calendar.get(Calendar.DATE);
170
-
171
- String checkdata = month + "/ " + day ;
172
-
173
-
174
-
175
- if (date.startsWith(checkdata)){
176
-
177
- // 前方一致の場合は、同じ日だからdateからcheckdataを削除して
178
-
179
- //昨日は全部表示されてしまう
180
-
181
-
182
-
183
- if(i==1) {
184
-
185
- textLog +=date + ": " + name + ": " + comment + "\n";
186
-
187
- }else{
188
-
189
- date= date.replaceAll(checkdata, "");
190
-
191
- textLog += date + ": " + name + ": " + comment + "\n";
192
-
193
- }
194
-
195
- }
196
-
197
- else {
198
-
199
- // 前方一致ではありません、つまり前日とは違う日だから4/29と表示
200
-
201
- textLog += date + ": " + name + ": " + comment + "\n";
202
-
203
-
204
-
205
- }
206
-
207
- textView.setText(textLog);
208
-
209
-
210
-
211
- c.moveToNext();
212
-
213
- }
214
-
215
- ```

7

詳細

2017/04/29 15:56

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,13 @@
82
82
 
83
83
  date= date.replaceAll(checkdata, "");
84
84
 
85
+ if(checkdata.length() == 0 ){
86
+
85
- textLog +="(い)"+ date +" "+ name + ": " + comment + "\n";
87
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
88
+
89
+ }else{
90
+
91
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataはから文字じゃない"+ date +" "+ name + ": " + comment + "\n"; }
86
92
 
87
93
 
88
94
 
@@ -116,6 +122,26 @@
116
122
 
117
123
  ```
118
124
 
125
+
126
+
127
+
128
+
129
+ textLog +="(い)"+checkdata+"checkdataを表示 checkdataがから文字"+ date +" "+ name + ": " + comment + "\n";
130
+
131
+ このようにしたところ、
132
+
133
+ (い)4/30checkdataを表示 checkdataがから文字じゃない:0:28 ta: いただきます
134
+
135
+ (い)checkdataを表示 checkdataはから文字4/30:0:28 ta: しつれいします
136
+
137
+ のように交互にcheckdataがから文字になってしまいます。
138
+
139
+
140
+
141
+
142
+
143
+
144
+
119
145
 
120
146
 
121
147
  //質問した当初のコードです。

6

追加

2017/04/29 15:54

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -27,6 +27,10 @@
27
27
 
28
28
 
29
29
  dataは、「4/29:22:34」のように表示されます。
30
+
31
+ nameは、「ito」などの名前で
32
+
33
+ commentは、「おはよう」などです。
30
34
 
31
35
  ///////////修正したコードです。
32
36
 

5

修正

2017/04/29 15:23

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,22 @@
7
7
  どう書けばよいのでしょうか?
8
8
 
9
9
  アドバイスの方どうぞ宜しくお願い致します。
10
+
11
+
12
+
13
+ //////////4月30日 0:19現在 の 未解決の内容
14
+
15
+ 日にちが変わると、最初のコメントだけ日にちを表示するようにできました。
16
+
17
+ しかし、日にちが変わらないと、(い):0:0 ta: こんにちは
18
+
19
+ のように出力されますが、次のコメントでは、(い)4/30:0:1ta: こんばんわ
20
+
21
+ のように日にちが変わっていないのに4/30と表示されてしまいます。
22
+
23
+ しかし、その次のコメントでは、(い):0:2 ta: いただきます
24
+
25
+ のように日付が出力されないという繰り返しになります。
10
26
 
11
27
 
12
28
 

4

誤字

2017/04/29 15:19

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -9,6 +9,8 @@
9
9
  アドバイスの方どうぞ宜しくお願い致します。
10
10
 
11
11
 
12
+
13
+ dataは、「4/29:22:34」のように表示されます。
12
14
 
13
15
  ///////////修正したコードです。
14
16
 
@@ -94,6 +96,8 @@
94
96
 
95
97
  ```
96
98
 
99
+
100
+
97
101
  //質問した当初のコードです。
98
102
 
99
103
  ```java
@@ -163,5 +167,3 @@
163
167
  }
164
168
 
165
169
  ```
166
-
167
- dataは、「4/29:22:34」のように表示されます。

3

コードの追加

2017/04/29 15:17

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,94 @@
7
7
  どう書けばよいのでしょうか?
8
8
 
9
9
  アドバイスの方どうぞ宜しくお願い致します。
10
+
11
+
12
+
13
+ ///////////修正したコードです。
14
+
15
+ ```java
16
+
17
+ String checkdata="初期値";
18
+
19
+
20
+
21
+ for (int i = 1; i <= c.getCount(); i++) {
22
+
23
+
24
+
25
+ String date = c.getString(0);
26
+
27
+ String name = c.getString(1);
28
+
29
+ String comment = c.getString(2);
30
+
31
+
32
+
33
+
34
+
35
+ if(i==1) {
36
+
37
+
38
+
39
+ textLog +="(あ)"+date + " " + name + ": " + comment + "\n";
40
+
41
+
42
+
43
+ //そして、dateの日付をcheckdateにいれる
44
+
45
+ checkdata=date.substring(0, date.indexOf(":"));
46
+
47
+
48
+
49
+ /////////////分が同じならifでとおってる、そして、時間全部を消してる
50
+
51
+ //dateの:以前をcheckdateにいれて、replaceするように
52
+
53
+
54
+
55
+ }else if(date.startsWith(checkdata)){ //(dateにcheckdataが含まれる場合) checkdateは前のコメントの日付
56
+
57
+
58
+
59
+ //前のコメントと日にちが同じ場合は月日を省く
60
+
61
+ date= date.replaceAll(checkdata, "");
62
+
63
+ textLog +="(い)"+ date +" "+ name + ": " + comment + "\n";
64
+
65
+
66
+
67
+ //そして、dateをcheckdateにいれる
68
+
69
+ checkdata=date.substring(0, date.indexOf(":"));
70
+
71
+
72
+
73
+
74
+
75
+ } else if(!(date.startsWith(checkdata)) && checkdata!="初期値"){
76
+
77
+ // 前方一致ではありません、つまり前日とは違う日で、"チェックデータ"でもない場合
78
+
79
+ textLog += "(う)"+ date + " " + name + ": " + comment + "\n";
80
+
81
+ //そして、dateをcheckdateにいれる
82
+
83
+ //dateは、前のコメントの日付のはず
84
+
85
+ checkdata=date.substring(0, date.indexOf(":"));
86
+
87
+
88
+
89
+ }else if(checkdata=="初期値"){
90
+
91
+ textLog+="初期値です\n";
92
+
93
+ }
94
+
95
+ ```
96
+
97
+ //質問した当初のコードです。
10
98
 
11
99
  ```java
12
100
 

2

説明の追加

2017/04/29 15:16

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -75,3 +75,5 @@
75
75
  }
76
76
 
77
77
  ```
78
+
79
+ dataは、「4/29:22:34」のように表示されます。

1

誤字修正

2017/04/29 13:49

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  int day = calendar.get(Calendar.DATE);
32
32
 
33
- String data = month + "/ " + day ;
33
+ String checkdata = month + "/ " + day ;
34
34
 
35
35
 
36
36