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

回答編集履歴

2

String と char[] の変換のコードを追加

2021/07/22 07:02

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -11,4 +11,25 @@
11
11
  複数の Scannerオブジェクトを生成してはいけません。
12
12
  標準入力がキーボードだからたまたま上手く行っているだけです。
13
13
  標準入力をファイルに切り替えると破綻します。
14
- 最初に生成したオブジェクトを指す sc を使って nextLineしてください。
14
+ 最初に生成したオブジェクトを指す sc を使って nextLineしてください。
15
+
16
+ **追記**
17
+ どうしても、char配列に置き換えて置換を行いたいのであって、
18
+ 置換する文字が 1文字なら次のようなコードが欠けます。
19
+ ```Java
20
+ class Main {
21
+ public static void main(String[] args) {
22
+ String s0 = "HELLO";
23
+ String s1 = "L";
24
+ String s2 = "O";
25
+ char[] a0 = s0.toCharArray(); // String を char[] に変換
26
+ char[] a1 = s1.toCharArray(); // char c1 = s1.charAt(0);
27
+ char[] a2 = s2.toCharArray(); // char c2 = s2.charAt(0);
28
+ for (int i = 0; i < a0.length; i++)
29
+ if (a0[i] == a1[0]) a0[i] = a2[0]; // if (a0[i] == c1) a0[i] = c2;
30
+ s0 = String.valueOf(a0); // char[] を String に変換
31
+ System.out.println(s0);
32
+ }
33
+ }
34
+ ```
35
+ 置換文字列が 2文字以上だったり、置換する長さが違ったりする場合はどうしましょうか?

1

newLine を nextLine に訂正

2021/07/22 07:02

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -11,4 +11,4 @@
11
11
  複数の Scannerオブジェクトを生成してはいけません。
12
12
  標準入力がキーボードだからたまたま上手く行っているだけです。
13
13
  標準入力をファイルに切り替えると破綻します。
14
- 最初に生成したオブジェクトを指す sc を使って newLineしてください。
14
+ 最初に生成したオブジェクトを指す sc を使って nextLineしてください。