Java 如何从二维数组复制1列并将其放入一维数组
我试图将2d数组中的1列的名称放入名为names的字符串1d数组中,但重复了5次。我似乎不能让它出现一次,我能做些什么来解决这个问题Java 如何从二维数组复制1列并将其放入一维数组,java,arrays,string,Java,Arrays,String,我试图将2d数组中的1列的名称放入名为names的字符串1d数组中,但重复了5次。我似乎不能让它出现一次,我能做些什么来解决这个问题 // a 2d array list obtained from a file Monica - 23 Mike - 24 Adam - 44 Mark - 78 Beth - 78 公共静态字符串[]sortName(字符串[][]数据){ //对名称进行排序并将其放入1d数组中 //[行][col] 字符串[]名称=新字符串[5]; 对于(int n=0;n
// a 2d array list obtained from a file
Monica - 23
Mike - 24
Adam - 44
Mark - 78
Beth - 78
公共静态字符串[]sortName(字符串[][]数据){
//对名称进行排序并将其放入1d数组中
//[行][col]
字符串[]名称=新字符串[5];
对于(int n=0;n
名称数组的长度为5,因此它将在第一个循环中循环5次。您需要将其改为data.length 您需要将其更改为:
public static String[] sortName(String[][] data)
{
// Sort the names and put it in a 1d array
// [rows] [col]
String[] names = new String[data.length]; // <------ This needs to be the data.length and not 5.
for (int n = 0; n < names.length; n++)
{
for (int q = 0; q < data.length; q++)
{
names[n] = data[q][0];
// Print to see if it works
System.out.println(names[n]);
}
}
return names;
}
公共静态字符串[]sortName(字符串[][]数据)
{
//对名称进行排序并将其放入1d数组中
//[行][col]
String[]names=new String[data.length];//你能把2D数组放在示例中吗:“Monica-23”不是2D数组,因为String 2D数组像[[“hello”,“world”],[“sample”,“world”]]。为什么你需要两个循环,只需对行数进行迭代,每行只需获取数据[i][0];您的名称数组的长度为5,因此它将在第一个循环中循环5次。
public static String[] sortName(String[][] data)
{
// Sort the names and put it in a 1d array
// [rows] [col]
String[] names = new String[data.length]; // <------ This needs to be the data.length and not 5.
for (int n = 0; n < names.length; n++)
{
for (int q = 0; q < data.length; q++)
{
names[n] = data[q][0];
// Print to see if it works
System.out.println(names[n]);
}
}
return names;
}