長くなりますので、結論と補足に分けて書きます。
結論
結論を先に言いますと、あなたのコードを(憶測で)修正して
取あえず動作するようにしたものが以下です。
Java
1
2class Price{
3 int[] price;
4 Price(int[] p){
5 price=p;
6 }
7 void getSum(){
8 int sum=0;
9 for(int i=0;i<price. length;i++)
10 sum += price[i];
11 int Sum=sum;
12 System.out.println("合計金額は "+Sum+ " 円です");
13 }
14 public static void main(String[] args){
15 int[] money={150,400,200,100};
16 Price p=new Price(money);
17 p.getSum();
18
19 int[] type={3,2,10,1};
20 Count c= new Count(type);
21 c.getNumber();
22 }
23}
24
25class Count{
26 int[] count;
27 Count(int[] c){
28 count=c;
29 }
30 void getNumber(){
31 int number=0;
32 for(int i=0;i<count. length;i++)
33 number += count[i];
34 int Number=number;
35 System.out.println("購入数は "+Number+" 個です");
36 }
37}
実行結果は以下です。
ご期待の結果になっているでしょうか?
合計金額は 850 円です
購入数は 16 個です
エラー(と言う言葉であなたが示そうとした出来事(であろうと私が推測した出来事))の原因と思われる
問題点は以下のような点です。
- getNumber() メソッドの記述が } で閉じていない。
この点を修正しても、いくつものエラーが出ますが、修正の仕方は何種類かあり、それによって出るエラーが変わってくるのでここでは書きません。
コーディング意図が不明なのでどのように修正するべきか判断できないからです、上に示した動作例は私の勝手な憶測にすぎません。
補足
おそらく、あなたは Price.java というファイルをコマンドラインでコンパイルしようとしたか、
Eclipse で作成したのだと予想します。
そして、以下のようなコンパイルエラーが出力されているはずです。
(微妙に環境が違うため、両者でエラーが同じになりません、一例と思ってください)
Price.java:25: エラー: 式の開始が不正です
public static void main(String[] args){
^
Price.java:25: エラー: 式の開始が不正です
public static void main(String[] args){
^
Price.java:25: エラー: ';'がありません
public static void main(String[] args){
^
Price.java:25: エラー: '.class'がありません
public static void main(String[] args){
^
Price.java:25: エラー: ';'がありません
public static void main(String[] args){
^
Price.java:34: エラー: 構文解析中にファイルの終わりに移りました
}
^
エラー6個
記述/説明 リソース パス ロケーション タイプ
Number は変数に解決できません Price.java /java8_samples/src 行 23 Java 問題
メソッド getSum() は型 Price で未定義です Price.java /java8_samples/src 行 27 Java 問題
メソッド main は static として宣言できません。static メソッドは、static またはトップレベル型においてのみ宣言できます Price.java /java8_samples/src 行 24 Java 問題
構文エラーがあります。"}" を挿入して ClassBody を完了してください Price.java /java8_samples/src 行 33 Java 問題
構文エラーがあります。"}" を挿入して MethodBody を完了してください Price.java /java8_samples/src 行 23 Java 問題
あなたが「エラーになりました。」で済ませた事柄は、以下の4つを書かないと
(回答可能な質問として)普通は相手に伝わりません。
1.ソースコード(これはやってあります)
2.このコードをコンパイルした(あるいは自動ビルドがオンの状態でEclipseで入力した)こと(あと出来ればコンパイラのバージョンとオプションの内容)
(もちろん、コマンドラインでコンパイルしたかEclipseを使ったかそれ以外の方法でコンパイルしたかということも)
3.その時にこのようなエラーメッセージが出たこと
4.そのエラーメッセージを見て、自分がどう解釈し質問するに至ったか(あるいは、どこがどう理解できなかったか)
もしも、コンパイラがエラーメッセージを出して、その解決方法を他人に質問するのであれば、
以上の情報をきちんと書いて質問しないと、期待するような回答を得にくいと思います。
ただ、このエラーは、クラスの概念と書式が理解できていて、
エラーメッセージをちゃんと読めば、初心者でも解決できる問題です。
(型=クラスということに思いたらないことはあるかもしれませんが)
もしも、このエラーメッセージと、ご質問に書かれたソースコードを付きあわせて、
修正すべき点を思いつけないとしたら、コンパイラを動かす前に、
入門書なりなんなりに戻って勉強しなおすことをお勧めします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/24 09:05