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

質問編集履歴

3

修正しました

2016/04/13 06:00

投稿

khr0404
khr0404

スコア43

title CHANGED
File without changes
body CHANGED
@@ -80,7 +80,6 @@
80
80
 
81
81
  ```
82
82
 
83
-
84
83
  ###発生している問題・エラーメッセージ
85
84
  この状態で実行したところこのようなエラーがでました。
86
85
  ```
@@ -91,6 +90,76 @@
91
90
  ```
92
91
 
93
92
 
93
+
94
+ ###ソースコードを編集しました
95
+
96
+ もう一度やり直してみました
97
+ ```java
98
+
99
+ public class Price {
100
+
101
+
102
+ private static int price;
103
+
104
+ private static double tax;
105
+
106
+
107
+ public void setTax( double tax1 ) {
108
+
109
+ this.tax = tax1;
110
+ tax1 = 0.08;
111
+ System.out.println( "税率を" + tax + "に設定" );
112
+
113
+ }
114
+
115
+
116
+ public void setPrice( int price1 ) {
117
+
118
+ this.price = price1;
119
+ price1 = 100;
120
+ }
121
+
122
+
123
+ public double getTax() {
124
+
125
+ return this.tax;
126
+ }
127
+
128
+
129
+ public int getPrice() {
130
+
131
+ return this.price;
132
+ }
133
+
134
+
135
+ public int getPriceIncludingTax() {
136
+
137
+ return (int) ( this.price * ( 1.0 + tax ) );
138
+
139
+
140
+ }
141
+
142
+
143
+ public static void main( String[] args ) {
144
+
145
+ System.out.println( "価格を" + price + "に設定" );
146
+ System.out.println( "税率を" + tax + "に設定" );
147
+
148
+
149
+ }
150
+ }
151
+
152
+
153
+ ```
154
+ ###発生している問題・エラーメッセージ
155
+ 上のソースだとこのような回答になりました。
156
+ ```
157
+ 価格を0に設定
158
+ 税率を0.0に設定
159
+ ```
160
+
161
+
162
+
94
163
  ###試したこと
95
164
  private修飾子なので違うクラスからアクセスできないのはわかるのですがそのような場合にどこにメインクラスを置けばよいのでしょうか?
96
165
 

2

質問いただいた事から修正してみました

2016/04/13 05:59

投稿

khr0404
khr0404

スコア43

title CHANGED
File without changes
body CHANGED
@@ -16,38 +16,41 @@
16
16
 
17
17
 
18
18
  ###該当のソースコード
19
+ ```java
19
20
 
20
21
 
22
+
21
23
  public class Price {
22
24
 
23
- private int price;
24
25
 
26
+ private int price;
27
+
25
28
  private double tax;
26
29
 
30
+
31
+
27
32
  public void setTax( double tax1 ) {
28
33
 
29
- tax = tax1;
34
+ this.tax = tax1;
35
+ tax1 = 0.08;
30
36
 
31
37
  }
32
38
 
39
+
33
40
  public void setPrice( int price1 ) {
34
41
 
35
42
  this.price = price1;
36
-
43
+ price1 = 100;
37
44
  }
38
45
 
39
- public int setPriceIncludingTax() {
40
46
 
41
- return (int) ( this.price * tax );
47
+ public double getTax() {
42
48
 
49
+ return this.tax;
43
50
  }
44
51
 
45
52
 
46
- public double getTax() {
47
53
 
48
- return this.tax;
49
- }
50
-
51
54
  public int getPrice() {
52
55
 
53
56
  return this.price;
@@ -56,15 +59,41 @@
56
59
 
57
60
  public int getPriceIncludingTax() {
58
61
 
59
- return (int) ( this.price * tax );
62
+ return (int) ( this.price * ( 1.0 + tax ) );
60
63
 
64
+
61
65
  }
62
66
 
63
67
 
68
+ }
69
+ public class PriceExamMain extends Price {
64
70
 
65
71
 
72
+ public static void main( String[] args ) {
73
+
74
+ System.out.println( "価格を" + price + "に設定" );
75
+ System.out.println( "税率を" + tax + "に設定" );
76
+
77
+
78
+ }
66
79
  }
67
80
 
81
+ ```
68
82
 
83
+
84
+ ###発生している問題・エラーメッセージ
85
+ この状態で実行したところこのようなエラーがでました。
86
+ ```
87
+ Exception in thread "main" java.lang.Error: Unresolved compilation problems:
88
+ フィールド Price.price は不可視です
89
+ フィールド Price.tax は不可視です
90
+
91
+ ```
92
+
93
+
69
94
  ###試したこと
95
+ private修飾子なので違うクラスからアクセスできないのはわかるのですがそのような場合にどこにメインクラスを置けばよいのでしょうか?
96
+
97
+
70
- system.outで一番下で実行しようとしたら値が0にりました。
98
+ ###補足情報(言語/FW/ツール等のバージョンど)
99
+ より詳細な情報

1

ソースを訂正しました

2016/04/13 05:53

投稿

khr0404
khr0404

スコア43

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,23 @@
1
+ ###前提・実現したいこと
2
+
3
+
1
4
  こんにちは。
2
5
  今年度から社会人となりプログラミングを勉強しているのですが表題のセッター・ゲッター・カプセル化がうまくいきません。
3
6
 
4
7
  使っているのはeclipseで言語はjavaです。
5
8
 
6
- 現在のソースが以下になるのすがこのソースで消費税率と商品価格をセッターで設定し消費税率、商品価格、税込みの価格、を出力したいです。
9
+ 現在のソースで消費税率と商品価格をセッターで設定し消費税率、商品価格、税込みの価格、を出力したいです。
7
10
 
8
11
  よろしくお願いします。
9
12
 
13
+ ###発生している問題・エラーメッセージ
10
14
 
15
+ 消費税率と商品価格をカプセル化してセッターで値を出力する書き方がわかりません。
16
+
17
+
18
+ ###該当のソースコード
19
+
20
+
11
21
  public class Price {
12
22
 
13
23
  private int price;
@@ -56,11 +66,5 @@
56
66
  }
57
67
 
58
68
 
59
-
60
69
  ###試したこと
61
-
62
- taxとpriceの変数をどこ与えればいいのかわかりません
70
+ system.out一番下で実行しようとしたら値0になりました
63
-
64
-
65
- ###補足情報(言語/FW/ツール等のバージョンなど)
66
- より詳細な情報