javaでは、好きなソースファイル名を勝手に付けたり、途中でファイル名を変更したりすると コンパイルエラーになることがあります。
ほとんどのjavaコンパイラでは、publicクラスのクラス名と、ファイル名(拡張子を除く) を同じにしなければなりません。大文字と小文字が異なっていてもいけません。
よって、1つのファイルにファイル名は当然1つしかないので、1つのソースファイルにはpublicクラスは 1つしか含められません。
これは問題ありません。
HogeA.java
1:
2:
3:
4:
5:
6:public class HogeA{ // OK
static public void main(String args[])
{
System.out.println("HogeA");
}
}
これは、publicクラス名がHogeAなのに対し、ファイル名がHogeA2.javaなので、コンパイルエラーとなります。
HogeA2.java
1:
2:
3:
4:
5:
6:public class HogeA{ // エラー
static public void main(String args[])
{
System.out.println("HogeA");
}
}
HogeB2クラスはpublicクラスではないので、ファイル名と違っても問題ありません。
HogeB.java
1:
2:
3:
4:
5:
6:class HogeB2{ // OK
static public void main(String args[])
{
System.out.println("HogeB");
}
}
< 問題 >
どこを変えるとコンパイルできるようになるでしょう。
HogeC2.java
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:public class HogeC{
static public void main(String args[])
{
System.out.println("HogeC");
}
}
public class HogeC2{
int x=1;
}
A. 1行目のpublicを取り除く
B. 8行目のpublicを取り除く
C. ファイル名を HogeC2.java に変える
D. ファイル名を HogeC3.java に変える
E. このままでもコンパイルできるので、変更の必要なはい
↑BACK ←PREV NEXT→