質問編集履歴
1
画像投稿の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,8 +8,15 @@
|
|
8
8
|
最初の配列の中から「置き換え対象」の文字を探して、「置き換えたい文字」に置換するプログラムを作っています。
|
9
9
|
|
10
10
|
最終目標はこんな感じで表示させたいです。
|
11
|
-

|
12
11
|
|
12
|
+
文字列を入力してください
|
13
|
+
HELLO
|
14
|
+
置換する文字を入力してください
|
15
|
+
L
|
16
|
+
置換後の文字を入力してください
|
17
|
+
O
|
18
|
+
配列の中身の表示:HELLO
|
19
|
+
置換後の中身の表示:HEOOO
|
13
20
|
|
14
21
|
### 発生している問題・エラーメッセージ
|
15
22
|
|
@@ -21,12 +28,53 @@
|
|
21
28
|
もだえ苦しんでいます。
|
22
29
|
|
23
30
|
32行目で「この行に複数マーカーがあります。非互変オペランド型charとString。iを変数に解決できません」
|
24
|
-

|
25
31
|
|
26
32
|
### 該当のソースコード
|
27
|
-

|
28
|
-
|
33
|
+
import java.util.Scanner;
|
29
34
|
|
35
|
+
public class mondai1 {
|
36
|
+
|
37
|
+
public static void main(String[] args) {
|
38
|
+
|
39
|
+
System.out.println("文字列を入力してください");
|
40
|
+
//キーボードより文字列を入力
|
41
|
+
Scanner sc = new Scanner(System.in);
|
42
|
+
//中身を代入する(切り出しする文字列)
|
43
|
+
String text = sc.nextLine();
|
44
|
+
//代入した文字数の分だけ配列を作る
|
45
|
+
char[] work =new char[text.length()];
|
46
|
+
|
47
|
+
//一文字ずつ配列に値を代入する
|
48
|
+
for(int i = 0; i < text.length(); i++) {
|
49
|
+
work[i] = text.charAt(i);
|
50
|
+
//char型をString型に直す(これでいいのかな・・・中身の型が変わらない。)
|
51
|
+
//(添え字が変ってるとか!)
|
52
|
+
String.valueOf(i);
|
53
|
+
}
|
54
|
+
|
55
|
+
//キーボードから置き換え対象文字の入力
|
56
|
+
System.out.println("置換する文字を入力してください");
|
57
|
+
String input = new Scanner(System.in).nextLine();
|
58
|
+
|
59
|
+
//キーボードから置換した後の文字を入力
|
60
|
+
System.out.println("置換後の文字を入力してください");
|
61
|
+
String output = new Scanner(System.in).nextLine();
|
62
|
+
|
63
|
+
//その文字に置き換える。(わからない・・・)
|
64
|
+
if (work[i] == input) {
|
65
|
+
/*やりたいこと
|
66
|
+
配列workの中身とinputを比べて、
|
67
|
+
同じなら、outputに上書きするみたいな感じで書きたいけど出来ない・・・
|
68
|
+
(助けて・・・)
|
69
|
+
*/
|
70
|
+
|
71
|
+
}
|
72
|
+
|
73
|
+
}
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
|
30
78
|
### 試したこと
|
31
79
|
キーボードから入力したString型の文字列をChar型に変換できないか試すが、
|
32
80
|
式を入力してもうまく変換できないようだった(同じエラーが出る)多分知識不足。
|