質問編集履歴

1

2019/04/12 17:22

投稿

RyosukeKanazawa
RyosukeKanazawa

スコア16

test CHANGED
File without changes
test CHANGED
@@ -1,143 +1 @@
1
- いま課題でており、implemeterのコードを書いています。そのclassの名前がLetterInventoryとなており、client codeのほうから送られてきwordを一文字ずつ読み込み個数をリターンしり、特定のアルファベットを増やたりるcodeです質問はその中のmethodにpublic LetterInventory add(LetterInventory other)というmethodがありちがうwordを最初にあったwordと足すmethodです。type型にobjectをいれるやり方はならっておらずとても困惑しておりさらにLetterInventory add = new LetterInventory("")と()の中に""が入る理由がわかりません。
2
-
3
-
4
-
5
- ```java
6
-
7
- コード
8
-
9
- public class LetterInventory {
10
-
11
- public static final int ALPHABET = 26;
12
-
13
- private String letters;
14
-
15
- private int size;
16
-
17
- private int[] elementData;
18
-
19
-
20
-
21
- public LetterInventory(String data) {
22
-
23
- this.letters = data.toLowerCase();
24
-
25
- this.size = 0;
26
-
27
- this.elementData = new int[ALPHABET];
28
-
29
- for(int i = 0; i < letters.length(); i++) {
30
-
31
- if(Character.isLetter(letters.charAt(i))) {
32
-
33
- elementData[letters.charAt(i) - 'a']++;
34
-
35
- size++;
36
-
37
- }
38
-
39
- }
40
-
41
- }
42
-
43
-
44
-
45
- public int size() {
46
-
47
- return size;
48
-
49
- }
50
-
51
-
52
-
53
- public boolean isEmpty() {
54
-
55
- return size == 0;
56
-
57
- }
58
-
59
-
60
-
61
- public int get(char letter) {
62
-
63
- if(!(Character.isLetter(letter))) {
64
-
65
- throw new IllegalArgumentException("letter:" + letter);
66
-
67
- }else {
68
-
69
- return elementData[Character.toLowerCase(letter) - 'a'];
70
-
71
- }
72
-
73
- }
74
-
75
-
76
-
77
- public String toString() {
78
-
79
- String representation = "[";
80
-
81
- for(int i = 0; i < ALPHABET; i++) {
82
-
83
- for(int j = 0; j < elementData[i]; j++) {
84
-
85
- representation += (char)(i + 'a');
86
-
87
- }
88
-
89
- }
90
-
91
- return representation += "]";
92
-
93
-
94
-
95
- }
96
-
97
-
98
-
99
- public void set(char letter, int value) {
100
-
101
- if(!(Character.isLetter(letter)) || (value < 0)) {
102
-
103
- throw new IllegalArgumentException("letter:" + letter + ", value:" + value);
104
-
105
- }else {
106
-
107
- size += value - elementData[Character.toLowerCase(letter) - 'a'];
108
-
109
- elementData[Character.toLowerCase(letter) - 'a'] = value;
110
-
111
- }
112
-
113
- }
114
-
115
-
116
-
117
- public LetterInventory add(LetterInventory other) {
118
-
119
- LetterInventory add = new LetterInventory("");
120
-
121
- for(int i = 0; i < letters.length(); i++) {
122
-
123
- add.elementData[i] = this.elementData[i] + other.elementData[i];
124
-
125
- add.size = this.size + other.size;
126
-
127
- }
128
-
129
- return add;
130
-
131
- }
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
- }
140
-
141
-
142
-
143
- ```
1
+ 削除依頼ったため削除す。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、