在java中,如何将字符串数组作为列分配给2d字符串数组?
我在java中的2d数组(字符串数据类型)中遇到了一个问题。我有 另一个名为arr的数组,我想在单个字符串数组中输入名称 并将这些名称复制到二维数组第0行的列中。请帮忙在java中,如何将字符串数组作为列分配给2d字符串数组?,java,arrays,string,nullpointerexception,assign,Java,Arrays,String,Nullpointerexception,Assign,我在java中的2d数组(字符串数据类型)中遇到了一个问题。我有 另一个名为arr的数组,我想在单个字符串数组中输入名称 并将这些名称复制到二维数组第0行的列中。请帮忙 import java.util.Scanner; public class Strings { public static void main(String[] args)// main function { String qwert[][]=new String[5][]; Scanner read
import java.util.Scanner;
public class Strings
{
public static void main(String[] args)// main function
{
String qwert[][]=new String[5][];
Scanner reader = new Scanner(System.in);
System.out.println("enter no of columns");
String arr[]= new String[5];
int t=reader.nextInt();
System.out.println("now arr input");
for(int k=0;k<t;k++)
arr[k]=reader.next();
for(int j=0;j<t;j++)
{
qwert[0][j]=arr[j];
}
for(int b=0;b<t;b++)
System.out.println(qwert[0][b]);
}//main function ends
}//class ends
import java.util.Scanner;
公共类字符串
{
公共静态void main(字符串[]args)//主函数
{
字符串qwert[][]=新字符串[5][];
扫描仪阅读器=新扫描仪(System.in);
System.out.println(“输入列数”);
字符串arr[]=新字符串[5];
int t=reader.nextInt();
System.out.println(“现在arr输入”);
对于(int k=0;k使用下面提供的代码
import java.util.Scanner;
public class Strings
{
public static void main(String[] args)// main function
{
String qwert[][]=new String[5][];
Scanner reader = new Scanner(System.in);
System.out.println("enter no of columns");
String arr[]= new String[5];
int t=reader.nextInt();
System.out.println("now arr input");
qwert[0] = new String[t];
for(int k=0;k<t;k++)
arr[k]=reader.next();
for(int j=0;j<t;j++)
{
qwert[0][j]=arr[j];
}
for(int b=0;b<t;b++)
System.out.println(qwert[0][b]);
}//main function ends
}//class ends
import java.util.Scanner;
公共类字符串
{
公共静态void main(字符串[]args)//主函数
{
字符串qwert[][]=新字符串[5][];
扫描仪阅读器=新扫描仪(System.in);
System.out.println(“输入列数”);
字符串arr[]=新字符串[5];
int t=reader.nextInt();
System.out.println(“现在arr输入”);
qwert[0]=新字符串[t];
for(int k=0;kString qwert[]][]=new String[5][];
创建一个由5个数组组成的数组,这些数组都是空的,因此queryt[0]=null
。当您尝试为分配时,qwert[0][j]=arr[j]
,qwert[0]
为空,因此您将得到一个NullPointerException
。您需要初始化qwert[i]
在使用之前
// you need to initialize qwert[0]
qwert[0] = new String[t];
for(int j = 0; j < t; j++)
{
qwert[0][j] = arr[j];
}
//您需要初始化qwert[0]
qwert[0]=新字符串[t];
对于(int j=0;j
问题出在哪里,你有没有发现任何错误或其他东西?StaticBeagle,为什么这会是它的复制品?为什么?这段代码说明了什么?简单地在没有解释的情况下转储代码并不能给出一个好的答案。