4

私はJavaが初めてで、いくつかの指示に従っていますが、文字列セクションに到達すると

public class String {
    public static void main(String[] args) {
        java.lang.String name;
        name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
} 

しかし、私は得る

Error: Main method not found in class String, please define the main method as:
    public static void main(String[] args)
4

5 に答える 5

7

クラス名として String を使用することを主張する場合は、次のようにする必要があります。

public class String {
    public static void main(java.lang.String[] args) {
        java.lang.String name;
        name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
} 

ただし、で定義されているクラスの名前を再利用しようとすることは特に賢明ではないと思いjava.langます。

于 2013-05-20T20:52:42.853 に答える
5

クラスは String という名前であるため、メイン メソッドの引数の型としてコンパイラによって推測されます。

代わりに、引数の型を完全修飾してみてください。

public static void main(java.lang.String[] args) {
...

または、さらに良いことに、使用するクラスの名前を変更し、Java.lang 以外のクラス名を使用します。

于 2013-05-20T20:52:09.273 に答える
5

変数へjava.lang.Stringの参照を完全に修飾するように注意しましたが、パラメーターへの参照は慎重に修飾しませんでした。nameargsmain

使用する

public static void main(java.lang.String[] args) {

もちろん、これはすべてString、Java の組み込みクラスと同じ名前である class という名前を付けたためです。StringTestおそらく、代わりに名前を付けることができますか?これにより、クラス名の衝突や Java 組み込みの完全修飾について心配する必要がなくなりStringます。

于 2013-05-20T20:52:18.417 に答える
2

あなたのクラスは名前を隠すjava.lang.Stringので、書く必要があります

public static void main(java.lang.String[] args) {

StringTestこの混乱を避けるために、クラスまたは何か他のものを呼び出すことをお勧めします。

public class StringTest {
    public static void main(String[] args) {
        String name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
}
于 2013-05-20T20:52:24.670 に答える
0

これを試してみませんか

public class StringFirstTry {
public static void main(String[] args) {
    String name;
    name = "luke";
    System.out.println("Hello, " + name + "pleased to meet you");
}

}

于 2013-05-20T20:56:25.043 に答える