質問編集履歴

1

間違えていた場所の修正

2016/07/03 15:54

投稿

indehi
indehi

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,40 +1,4 @@
1
1
  以下の問題のプログラムを書きたいのですが、どうも頭がこんがらがってわかりません。
2
-
3
-
4
-
5
- LineSegmentクラスを継承して、つぎの機能をもつクラス ThickLineSegmentを定義する。
6
-
7
- ・ 線分の幅を表す属性 width を追加する。
8
-
9
- ・ 線分の幅を設定するメソッドsetWidth を定義する。
10
-
11
- ・ 3種類のコンストラクタを定義する。
12
-
13
- 1 2つの端点の x 座標と y 座標を指定したもの(幅の初期値は1とする)
14
-
15
- 2 1つの端点の x 座標と y 座標および幅を指定したもの(もう1つの端点は原点とする)
16
-
17
- 3 2つの端点および幅を指定したもの
18
-
19
- ・線分が幅を持つことを示すために、形状を生成するメソッド makeForm を定義する。指定され
20
-
21
- た幅に応じて以下のような文字列を生成する。ただし、線分の長さを求めるメソッド length
22
-
23
- を適切なクラスに定義して、利用すること。
24
-
25
- 幅が 1 の場合:文字“-“ を線分の長さの小数点以下を切り上げた整数値の個数分連接し
26
-
27
- た文字列
28
-
29
- 幅が 2 の場合:文字“=“ を線分の長さの小数点以下を切り上げた整数値の個数分連接し
30
-
31
- た文字列
32
-
33
- 幅が 3 以上の場合:文字“#“ を線分の長さの小数点以下を切り上げた整数値の個数分連
34
-
35
- 接した文字列
36
-
37
- ・toString は端点を前にで生成した形状の情報で連結して文字列化する。
38
2
 
39
3
 
40
4
 
@@ -114,91 +78,11 @@
114
78
 
115
79
  }
116
80
 
117
- int length(double x1, double y1,double x2,double y2){
118
81
 
119
- this.x = Math.pow(x2-x1,2);
120
-
121
- this.y = Math.pow(y2-y1,2);
122
-
123
- return (int)Math.sqrt(x+y);
124
-
125
- }
126
-
127
- String makeFrom(){
128
-
129
- int bwidth = awidth;
130
-
131
- char k;
132
-
133
- if (bwidth == 1){
134
-
135
- k = "-";
136
-
137
- }
138
-
139
- else if (bwidth == 2){
140
-
141
- k = "=";
142
-
143
- }
144
-
145
- else if (bwidth <= 3){
146
-
147
- k = "#";
148
-
149
- }
150
-
151
- for(int i=0;i<this.length;i++){
152
-
153
- System.out.println(k);
154
-
155
- }
156
-
157
- }
158
-
159
- String toString(){
160
-
161
- return (makeFrom());
162
-
163
- }
164
-
165
- String toString(double x,double y){
166
-
167
- return ("("+x+","+y+")");
168
-
169
- }
170
82
 
171
83
  }
172
84
 
173
85
 
174
-
175
- public class MainLine{
176
-
177
-
178
-
179
- public static void main(String[] args){
180
-
181
- double a = Double.parseDouble(args[0]);
182
-
183
- double b = Double.parseDouble(args[1]);
184
-
185
- double c = Double.parseDouble(args[2]);
186
-
187
- double d = Double.parseDouble(args[3]);
188
-
189
-
190
-
191
- ThickLineSegment s = new ThickLineSegment(a,b,c,d,2);
192
-
193
- s.linearTransfer();
194
-
195
- s.length(a,b,c,d);
196
-
197
- s.makeFrom();
198
-
199
- }
200
-
201
- }
202
86
 
203
87
 
204
88