0

あるクラスから別のクラスに文字列を渡そうとしていますが、成功しません。if ステートメントを使用できるようにするには "public static void main(String[] args) {}" が必要であることが調査と試行錯誤の中でわかりましたが、getY() でエラーが発生します。他に何ができますか?

public class Testing {
public static String z;
public static void main(String[] args) {
int x = 15;

if (x >= 10)
    {
    z = "Blabla";
    }
    public static String getZ() {
    return z;
    }
  }
}

他のクラスは

class B {
public static void main(String args[]) {
String x = Klasatest2.getZ();

System.out.println(x);
}
}

エラー:

Klasatest2.java:14: 不正な式の開始

public static String getZ() 

^

Klasatest2.java:14: 不正な式の開始

public static String getZ() {

       ^

Klasatest2.java:14: ';' 期待される

public static String getZ() {

                    ^

Klasatest2.java:14: ';' 期待される

public static String getZ() {

                           ^

4 エラー

4

2 に答える 2

0

アプリケーションが持つことができるmain(String args[])メソッドは 1 つだけです。これを試して:

public class Testing {
  public static void main(String[] args) {
    A a = new A("hy");
    B b = new B(a.z);
  }

  public class A {
    public String z;
    public A (String z) {
      this.z = z;
    } 
  }

  public class B {
    public B (String y) {
      System.out.println(y);
    }
  }
}
于 2012-10-12T16:00:46.083 に答える
0

まず、メソッド内でメソッドを宣言することはできません。

public static void main(String[] args) {
int x = 15;

if (x >= 10)
    {
    z = "Blabla";
    }
    public static String getZ() {
    return z;
    }
  }
}

したがって、 getgetZ()メソッドが OUTSIDE の外側で宣言されていることを確認する必要がありますmain(string[] args)

このような、

public class Test {
public static String z;
public static void main(String[] args) {
int x = 15;

if (x >= 10)
    {
    z = "Blabla";
    }

  }
public static String getZ() {
    return z;
    }
}

また、main(String[] args)何らかの理由で自分で呼び出すことに決めない限り、そのうちの 1 つだけが呼び出されるため、2 つのメソッドを持つべきではありません。これは非常に奇妙です。したがって、文字列を class に設定したい場合は、他のクラスからそのメソッドTestを呼び出す必要があります。このようにすることができます。main

Test.main(null);
于 2012-10-12T15:56:56.330 に答える