打印参数内部的数组
Posted
技术标签:
【中文标题】打印参数内部的数组【英文标题】:printing array that is inside parameter 【发布时间】:2022-01-23 21:13:38 【问题描述】:有谁知道如何打印出 lecArray[0] 内的数组,即 1A / 01 1A / 02?
公共类 LecturerUser
public static void main(String[] args)
Lecturers[] lecArray = new Lecturers[4];
lecArray[0] = new FullTimeLecturer(
"John", 1, new String[]"1A / 01", "1A / 02",
new int[]20, 22, 3500);
lecArray[1] = new FullTimeLecturer(
"Jack", 2, new String[]"1B / 01", "1B / 02",
new int[]25, 22, 4000);
lecArray[2] = new PartTimeLecturer("Joe", 11, 60, 60);
lecArray[3] = new PartTimeLecturer("Janny", 12, 60, 45);
for (int i = 0; i < lecArray.length; i++)
System.out.println(lecArray[i].getName() +"'s monthly pay is " + lecArray[i].calcMonthlyPay());
【问题讨论】:
你能分享Lecturer
的定义吗?它有吸气剂吗?
使用Arrays.toString()
。
公开课讲师私有字符串名称;私人 int 员工 ID;公共讲师(字符串 inName,int instaffID) name = inName;工作人员 ID = 工作人员 ID; public String getName() 返回名称; public void setName(String inName) name = inName; /* public int getstaffID() return staffID; */ public double calcMonthlyPay() return 0.0;
【参考方案1】:
您实际上需要另一个 for 循环
for (int i = 0; i < lecArray.length; i++)
System.out.println(lecArray[i].getName() +"'s monthly pay is " + lecArray[i].calcMonthlyPay());
for (int j = 0; j < lecArray[i].innerArray.length; i++)
System.out.println(lecArray[i].innerArray[j]);
【讨论】:
【参考方案2】:Java 是一种面向对象的语言;你想要的不是一般可能的。任何对象都是一个黑盒子:你想用它做什么完全取决于类定义,它定义了你可以用那个类的实例做什么(那些就是对象)。
幸运的是,如果它在任何方面都很重要,这些类定义往往会定义方法来为您提供所需的信息。例如,这可能有效:
System.out.println(Arrays.toString(lecArray[0].getResponsibleFor());
在这里我假设“1A / 02”的东西是他们负责的组。
注意:
数组不适合这种事情,它们是一种低级结构,只有在使用需要它们的 API、与操作系统或内部 java 库交互或编写核心实用程序(例如,ArrayList 在其source 使用数组)。数组是可变的,不能变成不可变的,这是一个很大的问题,它的toString
、equals
和hashCode
的实现大多是没用的,不能改变。这就是为什么你应该用List<String>
代替这些。甚至更好,List<Course>
,或 Group,或任何应该代表的东西。
【讨论】:
嗨,我还有其他方法可以在 lecArray[0] 中键入 1A/02 和 1A/03,而无需使用数组,就像我键入“John”、1 等一样,因为我想在一个参数中键入两个信息,那么我该怎么办?【参考方案3】:您应该为 Lecturers 类创建 toString() 函数。在函数中,你打印你想要显示的内容,在主函数中,你只调用 lecArray[i].toString()
【讨论】:
以上是关于打印参数内部的数组的主要内容,如果未能解决你的问题,请参考以下文章
Vue Js 在我用 Axios get 调用的函数内部,将传入的数据打印到数组中
声明数组变量/// 计算所有元素的总和/打印所有元素总和/输出/foreach循环/数组作为函数的参数/调用printArray方法打印