0

私は再び立ち往生しています。

いくつ List<Node> nodeかの値 (6, 14) (6, 13) (6, 12) を持つ

で示される

for (Node n : node)
 System.out.print(n);

List タイプを変更したくありませんが、(6,14) などの Numbers を使用して、それらを個別に int に保存したいと考えています。

int x = 6;
int y = 14;

私はいくつかのことを試しましたがnode.get(0)、ノード全体が 0 に表示されていることを除いて、何も機能していないようです。

何か案は?

4

3 に答える 3

1

あなたの質問は明確ではありませんが、次の仮定を立てて答えようとします。

1) ノードとは、インターフェイス org.w3c.dom.Node を意味します

2)ノード(リスト変数)の各要素もノードです。

3) ノードである要素には、2 つの子ノードが含まれます。各子ノードは整数値で構成されます。

上記の仮定が正しければ、リストの最初の要素から整数値を取得するコードを次に示します。

Node element0 = node.get(0);
NodeList children = element0.getChildNodes();
Node intNode0 = children.item(0);
Node intNode1 = children.item(1);
int x;
int y;
try {
  x = Integer.parseInt(intNode0.getTextContent());
  y = Integer.parseInt(intNode1.getTextContent());
} catch (Exception e) {
  System.out.println("Child node is not integer value");
}

`

于 2013-06-08T01:12:32.987 に答える
0

C++ を使用している場合は、演算子のオーバーロードを使用できることをお伝えします。C ++では、 6または14、さらには6 + 14など、必要なものを印刷できるSystem.out.print(n); ように見えます。std::cout<<n;しかしJavaでは、node.get(0)おそらく唯一の方法です.Javaには演算子のオーバーロードがなく、演算子は関数に基づいています。演算子のオーバーロードによって関数を使用して同じことを行うことがn.get(0)できます。

于 2013-06-08T00:55:29.340 に答える
0

以下のコードを見てください

import java.util.ArrayList;
import java.util.List;


class Node {
private int x; 
private  int y;
public int getX() {
    return x;
}
public void setX(int x) {
    this.x = x;
}
public int getY() {
    return y;
}
public void setY(int y) {
    this.y = y;
}
public Node(int x, int y) {
    super();
    this.x = x;
    this.y = y;
}



}

public class stackov1 {

/**
 * @param args
 */
public static void main(String[] args) {



List<Node> node= new ArrayList();
node.add(new Node(10,12));
node.add(new Node(11,14));

for (Node n : node){
    System.out.println(n.getX());
    System.out.println(n.getY());
// System.out.print(n);
}
}

}
于 2013-06-08T01:24:26.167 に答える