Java 2D数组列
您好这只是一个简单的2d数组问题,我想在2列中显示我的2个数组元素,如下所示: 国家和城市Java 2D数组列,java,arrays,Java,Arrays,您好这只是一个简单的2d数组问题,我想在2列中显示我的2个数组元素,如下所示: 国家和城市 菲律宾马尼拉 韩国首尔 日本东京 以色列耶路撒冷 这是我的代码: public class ArrayExercise { public static void main(String[] args){ String[][] myArray = { {"Philippines", "South Korea", "Japan", "Israel"}, //
菲律宾马尼拉
韩国首尔
日本东京
以色列耶路撒冷
这是我的代码:
public class ArrayExercise {
public static void main(String[] args){
String[][] myArray = {
{"Philippines", "South Korea", "Japan", "Israel"}, // Countries
{"Manila", "Seoul", "Tokyo", "Jerusalem" } // capital cities
};
System.out.print( "Countries\tCities\n" );
for( int row = 0; row < myArray.length; ++row ){
System.out.print( "" );
for( int col = 0; col < myArray[row].length; ++col ){
System.out.print( "" + myArray[row][col] + "\t" );
}
}
System.out.println( "" );
}
}
公共类数组执行{
公共静态void main(字符串[]args){
字符串[][]myArray={
{“菲律宾”、“韩国”、“日本”、“以色列”},//国家
{“马尼拉”、“首尔”、“东京”、“耶路撒冷”}//首都城市
};
System.out.print(“国家/地区\t城市\n”);
对于(int row=0;row
但我无法将其显示在两列中。任何帮助都将不胜感激。谢谢大家:)在通过
myArray[row]
循环后,您不会添加换行符。您需要在循环后添加以下内容以打印新行:
System.out.println();
通常,如果您想要一行结尾,不要调用
System.out.print(“\n”)
,而是调用System.out.println()
System.out.println()
使用系统行结尾,它不一定是换行符(\n
)。在循环通过myArray[row]
后,不添加换行符。您需要在循环后添加以下内容以打印新行:
System.out.println();
通常,如果您想要一行结尾,不要调用
System.out.print(“\n”)
,而是调用System.out.println()
System.out.println()
使用系统行结尾,它不一定是换行符(\n
)。更新:-以下是在两列中打印它们的方法:-
String[][] myArray = {
{"Philippines", "South Korea", "Japan", "Israel"}, // Countries
{"Manila", "Seoul", "Tokyo", "Jerusalem" } // capital cities
};
int j = 0;
while (j < myArray[0].length) {
System.out.printf("%-15s - %-15s", myArray[0][j], myArray[1][j++]);
System.out.println();
}
String[]myArray={
{“菲律宾”、“韩国”、“日本”、“以色列”},//国家
{“马尼拉”、“首尔”、“东京”、“耶路撒冷”}//首都城市
};
int j=0;
while(j
因为您希望为每列并行打印两行的值您可以迭代列,并打印对应列的两行值 注意:-我使用了value
15
进行格式化。。通常,当字符串(国家或城市)的长度大于该值时,可能会给出错误的结果
要获得更多改进,您可以将
15
替换为最长的国家字符串
和最长的城市字符串
,从两行开始。更新:-以下是将其分为两列打印的方法:-
String[][] myArray = {
{"Philippines", "South Korea", "Japan", "Israel"}, // Countries
{"Manila", "Seoul", "Tokyo", "Jerusalem" } // capital cities
};
int j = 0;
while (j < myArray[0].length) {
System.out.printf("%-15s - %-15s", myArray[0][j], myArray[1][j++]);
System.out.println();
}
String[]myArray={
{“菲律宾”、“韩国”、“日本”、“以色列”},//国家
{“马尼拉”、“首尔”、“东京”、“耶路撒冷”}//首都城市
};
int j=0;
while(j
因为您希望为每列并行打印两行的值您可以迭代列,并打印对应列的两行值 注意:-我使用了value
15
进行格式化。。通常,当字符串(国家或城市)的长度大于该值时,可能会给出错误的结果
为了获得更多的改进,您可以将
15
替换为最长的国家/地区字符串
和最长的城市字符串
,从两行开始。首先,您需要找出第一列(国家/地区)中最长元素的长度,假设最大长度为5,你希望每一行都有一个前导空格。你还需要找到第二列的最大长度,这里是8。完成此操作后,可以使用字符串.format
打印元素:
outputString = String.format("%1$6s %2$8s\n",country, city);
System.out.println(outputString);
格式化程序将第一个参数的宽度设置为
X
,以便获得正确的缩进。这将适用于任何长度的字符串。首先,您需要找出第一列(国家)中最长元素的长度,假设最大长度为5,并且您希望在每行有一个前导空格。你还需要找到第二列的最大长度,这里是8。完成此操作后,可以使用字符串.format
打印元素:
outputString = String.format("%1$6s %2$8s\n",country, city);
System.out.println(outputString);
格式化程序将第一个参数的宽度设置为
X
,以便获得正确的缩进。这将适用于任何长度的字符串。先迭代列,然后迭代行如何
for( int col = 0; col < myArray[0].length; ++col ){
for( int row = 0; row < myArray.length; ++row ){
System.out.print(myArray[row][col]);
System.out.print("\t");
}
System.out.println();
}
for(int col=0;col
说明:
你的二维数组是这样的
- 菲律宾[0,0]韩国[0,1]日本[0,2]以色列[0,3]
- 马尼拉[1,0]首尔[1,1]东京[1,2]耶路撒冷[1,3]
- 菲律宾[0,0]马尼拉[1,0]
- 韩国[0,1]首尔[1,1]
- 日本[0,2]东京[1,2]
- 以色列[0,3]耶路撒冷[1,3]
在内部循环之后,我打印一个新行。先迭代列,然后再迭代行如何
for( int col = 0; col < myArray[0].length; ++col ){
for( int row = 0; row < myArray.length; ++row ){
System.out.print(myArray[row][col]);
System.out.print("\t");
}
System.out.println();
}
for(int col=0;col