質問編集履歴
1
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
お世話になっております。
|
2
|
+
|
1
3
|
ユーザーに文字列を入れてもらい(A-Z,a-z,0-9, スペース、コンマetc)それをモールス信号化して表示するという課題です。
|
2
4
|
アイデアとしてはハッシュマップを使って、入力された文字(キー)が見つかった場合その値を返すということを実現させたいです。
|
3
5
|
```java
|
@@ -8,23 +10,14 @@
|
|
8
10
|
public class AskUser {
|
9
11
|
|
10
12
|
public static void main(String[] args) {
|
13
|
+
|
11
|
-
|
14
|
+
HashMap<String, String> codes = new HashMap<String, String>();
|
12
15
|
|
16
|
+
Scanner input = new Scanner(System.in);
|
17
|
+
|
13
|
-
System.out.println("
|
18
|
+
System.out.println("Enter a string.");
|
14
19
|
String str = input.nextLine();
|
15
|
-
for (String line : str) {
|
16
|
-
//文字列を一文字ずつに分ける
|
17
|
-
String[] lineParts = line.split("");
|
18
|
-
}
|
19
|
-
|
20
20
|
|
21
|
-
HashMap<String, String> codes = new HashMap<Stirng, String>();
|
22
|
-
|
23
|
-
getMorseChar = convert(str);
|
24
|
-
|
25
|
-
}
|
26
|
-
|
27
|
-
private static HashMap<>(String, String){
|
28
21
|
codes.put("a",".-");
|
29
22
|
codes.put("b","-...");
|
30
23
|
codes.put("c","-.-.");
|
@@ -81,15 +74,25 @@
|
|
81
74
|
codes.put(",","--..--");
|
82
75
|
codes.put(".",".-.-.-");
|
83
76
|
codes.put("?","..--..");
|
84
|
-
|
77
|
+
|
85
|
-
|
78
|
+
if(str.isEmpty()) {
|
79
|
+
System.out.println("Please eneter a string.");
|
80
|
+
}else {
|
81
|
+
|
86
|
-
|
82
|
+
String val = (String)codes.get(input);
|
87
|
-
}
|
88
83
|
|
84
|
+
|
85
|
+
System.out.println(str +" in morse code is " + val);
|
86
|
+
}
|
87
|
+
|
88
|
+
|
89
89
|
}
|
90
|
+
}
|
90
91
|
|
92
|
+
|
93
|
+
|
94
|
+
|
91
95
|
```
|
92
|
-
わからない点は、一文字ずつにわけた文字列をハッシュマップを使ってどのように探すのかというところです。
|
93
|
-
|
96
|
+
エラーは実行しても nullが返されてしまい、モールス信号が返ってきません。
|
94
97
|
|
95
98
|
どうにかご指導していただけると嬉しいです。
|