小编Esm*_*ond的帖子

String []由null初始化?

嗨,我遇到了这个问题,当我初始化我的String []时,在我做任何事情之前,String []中似乎有一个null.我如何将String []初始化为完全为空,即在开始时没有null?以下代码的输出是:
nullABC
nullABC
nullABC
nullABC
nullABC

public static void main(String[] args){
    String[] inputArr = new String[5];
    for (int i = 0; i< inputArr.length; i++){
        inputArr[i] += "ABC";
    }
    for (int i = 0; i< inputArr.length; i++){
        System.out.println(inputArr[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

}

java

2
推荐指数
1
解决办法
644
查看次数

Vector ArrayIndexOutOfBounds

我有一个ArrayIndexOutofBounds异常,代码如下.抛出异常就行了 Node nodeJ = vect.get(j)

但它对我没有意义,因为j肯定比我小, Node nodeI = vect.get(i) 并且不会抛出任何异常.

任何帮助表示赞赏.

public static Vector join(Vector vect) throws ItemNotFoundException {

    Vector<Node> remain = vect;
    for (int i = 1; i < vect.size(); i++) {
        Node nodeI = vect.get(i);
        for (int j = 0; j < i; j++) {//traverse the nodes before nodeI
            Node nodeJ = vect.get(j);

            if (nodeI.getChild1().getSeq().equals(nodeJ.getSeq())) {
                nodeI.removeChild(nodeJ);
                nodeI.setChild(nodeJ);
                remain.remove(j);
            }
            if (nodeI.getChild2().getSeq().equals(nodeJ.getSeq())) {
                nodeI.removeChild(nodeJ);
                nodeI.setChild(nodeJ);
                remain.remove(j);
            }
        }
    }
    return remain;
}
Run Code Online (Sandbox Code Playgroud)

Node nodeJ = vect.get(j)

java

1
推荐指数
1
解决办法
329
查看次数

在java中调用类的多个实例时出现问题

我有一个问题,在main方法中调用我编码的类的多个实例(Tree,TreeNode),系统会给出输出cdjcdj,即使两个树明显是不同的树.如果我要分开两个postOrder()调用(每个调用树被推入堆栈后调用)

    Stack<Tree> alphaStack = new Stack<Tree>();
    TreeNode a = new TreeNode('i');
    Tree tree = new Tree(a);
    TreeNode newleft = new TreeNode('a');
    TreeNode newright = new TreeNode('b');
    tree.setLeft(a, newleft);
    tree.setRight(a, newright);
    alphaStack.push(tree);
    Tree.postOrder(alphaStack.pop().getRoot());

    TreeNode b = new TreeNode('j');
    Tree newtree = new Tree(b);
    TreeNode left = new TreeNode('c');
    TreeNode right = new TreeNode('d');
    newtree.setLeft(b, left);
    newtree.setRight(b, right);
    alphaStack.push(newtree);

    Tree.postOrder(alphaStack.pop().getRoot());
Run Code Online (Sandbox Code Playgroud)

输出将是abicd j.

这是否意味着我的班级没有重复,而是在制作新树时重复使用?

以下是代码:

import java.util.Stack;

公共类mast_score {

public static void main(String[] args){
    Stack<Tree> alphaStack = new Stack<Tree>();
    TreeNode a = new …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
491
查看次数

标签 统计

java ×3