java - java的数组列表
问题描述
所以,这是我必须回答的问题:
在 Payroll 类中,添加一个标题为 private int computePay(Programmer p) 的方法。该方法应返回程序员的成绩乘以他们工作的小时数。例如,如果程序员的等级是 2,他们工作的总小时数是 6,那么该方法应该返回 12。
但我对这个论坛的问题是,我如何获得 txt。包含的文件Firstname Secondname,paygrade(Out of 3),hours,hours,hours,hours,hours,hours
(txt。示例;
- 肖恩·戴克,3,34,54,67,78,34,12
- 弗雷德·弗林松,1,65,78,89,89,34,23
- 史酷比,2,54,56,67,87,89,65
)
为了使成绩部分与他们的工作时间分开,这样我就可以使用
private int computePay(Programmer p){
return p.grade*p.hours;
}
我可能对此感到困惑,或者倒退,但任何类型的指导方针都会有所帮助。
解决方案
那么有两种方法可以将数据存储在 .txt 文件中:
您可以将对象放入对象流中,然后简单地将其写入文本文件。
FileOutputStream out = new FileOutputStream("test.txt"); ObjectOutputStream oout = new ObjectOutputStream(out); // write something in the file oout.writeObject(s); // close the stream oout.close();
可悲的是,格式化会非常糟糕,您无法自己读取数据。而且这种方法确实不一致。你需要你的类来实现
Serializable
. 此外,您的 java 代码中的任何更改都将停止读取该文件。
所以我会去尝试一下,你只存储名称,然后是那些时间。然后,逐行阅读:
String s = "Sean Dyke,3,34,54,67,78,34,12"
String[] entries = s.split(",");
String name = entries[0];
Integer[] hours = new Integer[entries.length -1];
for(int i = 0; i < hours; i++){
hours[i] = Integer.parseInt(entries[i + 1]);
}
这可能会解析一行。对代码txt文件中的每一行都这样做,你应该没问题。
推荐阅读
- ios - 如何将组件拉伸到全屏,甚至是反应式的缺口
- makefile - makefile latex DVI=$(TEX:.tex=.dvi) 含义
- asp.net-core - 在 ASP.NET Core 2.2 中,如何在启动服务中获取基本 URL
- python - 子进程中的 Python 日志记录
- javascript - litelement - 在开槽元素中设置嵌套元素的样式
- python - Python/Django 使用 Through 保存 m2m
- php - 如何使用 PHP 7 中的 mpdf 库在同一个文件中调用 WriteHtml() 函数两次来编写内容?
- keycloak - Keycloak:为用户账户信息添加通用属性
- symfony-1.4 - 是否可以使用 Symfony 1.4 中的 schema.yml 更新数据库结构?
- android - 物理和虚拟设备上的应用显示错误