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

質問編集履歴

1

画像投稿の修正

2021/07/21 12:58

投稿

yukiusagi3
yukiusagi3

スコア1

title CHANGED
File without changes
body CHANGED
@@ -8,8 +8,15 @@
8
8
  最初の配列の中から「置き換え対象」の文字を探して、「置き換えたい文字」に置換するプログラムを作っています。
9
9
 
10
10
  最終目標はこんな感じで表示させたいです。
11
- ![イメージ説明](3d693190cd068bd7a9650091098d0bcf.png)
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
- ![イメージ説明](d6b1dfbaef015408857e2f2b4caee157.png)
25
31
 
26
32
  ### 該当のソースコード
27
- ![イメージ説明](ee8f6b7d11239e2cb4bf1fb327467e37.png)
28
- ![イメージ説明](bc500340e267ae3f09c8005524ca8052.png)
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
  式を入力してもうまく変換できないようだった(同じエラーが出る)多分知識不足。