如何创建一个包含 2 个不同类型数组的数组 Java
How to create an Array with 2 Arrays inside of different types Java
我有2个数组,一个String类型,一个Int类型。是否可以将这两个都放入另一个数组中?
说明示例:
String[] grades = { A, B, C, D, E, F };
int[] marks = { 90, 80, 70, 60, 50 };
int[][] combined { grades, marks };
我需要能够通过键入 combined[0][4](以接收 'E')等使用组合数组来单独寻址它们中的每一个
如果可能的话,我的 class return 类型会用什么?它目前设置为 return int[][] 但这不起作用,因为字符串无法转换为 int。
我目前的理论是让它 return 一个字符串数组并将我的整数转换为字符串,但这效率低下并且失去了很多功能,如果有人知道任何更聪明的方法来做到这一点我会喜欢任何建议。
感谢您的宝贵时间
方法 1: 您可以使用二维对象数组。
int max = Math.max(grades.length,marks.length);
示例:
Object[][] objArr = new Object[max][2];
objArr[0][0] = marks[0];
objArr[0][1] = grades[0];
数组看起来像 {90,A}
到return一个字符串你可以获得成绩并将其转换为String
return (String) obj[0][1]; // returns "A"
方法 2: 您可以使用 ascii 值表示成绩,并且可以将它们放在 2D 整数数组本身中。
Integer[][] marksAndGrades = new Integer[max][2];
marksAndGrades[0][0] = marks[0];
marksAndGrades[0][1] = (int)grades[0].charAt(0);
这里的数组看起来像 {90,65}
到return根据分数的等级
return String.valueOf((char)(int)marksAndGrades[0][1]); // returns "A"
您可以通过首先将数字数组从 int[]
更改为 Integer[]
,然后将组合数组更改为 Object[][]
:
来实现此目的
String[] grades = { "A", "B", "C", "D", "E", "F" };
Integer[] marks = { 90, 80, 70, 60, 50 };
Object[][] combined = { grades, marks };
我有2个数组,一个String类型,一个Int类型。是否可以将这两个都放入另一个数组中?
说明示例:
String[] grades = { A, B, C, D, E, F };
int[] marks = { 90, 80, 70, 60, 50 };
int[][] combined { grades, marks };
我需要能够通过键入 combined[0][4](以接收 'E')等使用组合数组来单独寻址它们中的每一个
如果可能的话,我的 class return 类型会用什么?它目前设置为 return int[][] 但这不起作用,因为字符串无法转换为 int。
我目前的理论是让它 return 一个字符串数组并将我的整数转换为字符串,但这效率低下并且失去了很多功能,如果有人知道任何更聪明的方法来做到这一点我会喜欢任何建议。
感谢您的宝贵时间
方法 1: 您可以使用二维对象数组。
int max = Math.max(grades.length,marks.length);
示例:
Object[][] objArr = new Object[max][2];
objArr[0][0] = marks[0];
objArr[0][1] = grades[0];
数组看起来像 {90,A}
到return一个字符串你可以获得成绩并将其转换为String
return (String) obj[0][1]; // returns "A"
方法 2: 您可以使用 ascii 值表示成绩,并且可以将它们放在 2D 整数数组本身中。
Integer[][] marksAndGrades = new Integer[max][2];
marksAndGrades[0][0] = marks[0];
marksAndGrades[0][1] = (int)grades[0].charAt(0);
这里的数组看起来像 {90,65}
到return根据分数的等级
return String.valueOf((char)(int)marksAndGrades[0][1]); // returns "A"
您可以通过首先将数字数组从 int[]
更改为 Integer[]
,然后将组合数组更改为 Object[][]
:
String[] grades = { "A", "B", "C", "D", "E", "F" };
Integer[] marks = { 90, 80, 70, 60, 50 };
Object[][] combined = { grades, marks };