gpt4 book ai didi

java - Java 中的奇怪行为

转载 作者:行者123 更新时间:2023-11-29 08:28:25 25 4
gpt4 key购买 nike

<分区>

我正在解决问题 Link逻辑很简单。但是我在执行代码时发现了奇怪的行为。据我所知,在 java 中,如果我将 main 中的任何对象提供给任何方法,并且该方法修改了对象,那么 main 中的对象将在被引用时被修改。但我不明白为什么我的代码中没有发生这种情况,它总是给出 nullpointerexception。下面是我的代码。`

import java.util.*;
import java.lang.*;
import java.io.*;

class GFG {

static class Node
{
int val;
Node left,right;
Node(int val)
{
this.val=val;
this.left=null;
this.right=null;
}
}
static int n;
static int[] a;

public static void insert(Node root,int left,int right)
{
int num=right-left+1;
root=new Node(a[left+num/2]);
if(num==1)
return;
insert(root.left,left,left+num/2-1);
insert(root.right,left+num/2+1,right);
}

public static void preorder(Node root)
{
System.out.print(root.val+" ");
if(root.left!=null)
preorder(root.left);
if(root.right!=null)
preorder(root.right);
}

public static void main (String[] args) {

Scanner in=new Scanner(System.in);
int tc=in.nextInt();
while(tc-->0)
{
n=in.nextInt();
a=new int[n];
for(int i=0;i<n;i++)
{
a[i]=in.nextInt();
}
Node root=null;
insert(root,0,n-1);
preorder(root);
}

}
}`

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com