1

私は2つのクラスを持っています:

public class node {
  static LinkedList<Integer> nodes = new LinkedList<Integer>();
  public boolean visited;

  public static void Main (String args []) {
    System.out.println("Number of nodes in network");
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();

    for (int i=1;i<=n;i++){
      nodes.add(i);
    }

    System.out.println(nodes);
  }

そして別のクラス

public class AdjacencyList {
  private int n;
  private int density;

int nメソッドからアクセスし、その値をクラス内にMain代入したい。値を割り当てることができるメソッドで (class.variable) 形式を試しましたが、うまくいきません。誰でもこれで私を助けてもらえますか?private int nAdjacencyListnode.n

4

5 に答える 5

7

への変更

public static int n;

次に、このような場所にアクセスできます..

AdjacencyList.n
于 2013-11-24T19:14:40.833 に答える
0

n の 2 番目のクラス public セッターに追加し、main に AjacencyList のインスタンスを作成してセッターを呼び出します。

于 2013-11-24T19:24:06.013 に答える
0

それを行うことも、AdjacencyList の新しいインスタンスを作成して、コンストラクターで n を設定することもできます。次に get() 関数で n にアクセスします。

于 2013-11-24T19:17:33.233 に答える
0

できません。ローカル変数 (関数内で定義された変数) のスコープは、この関数に限定されています (ここでは Main、注: 関数名は小文字で始めるのが慣例です)。

外部から変数にアクセスする場合は、クラス変数である必要があり、それにアクセスする関数を宣言する必要があります ( setN / getN など)。

また、関数が静的であるため、変数も静的である必要があります。

それが役に立てば幸い

于 2013-11-24T19:15:48.840 に答える