我是初学者,请原谅我这个简单的问题。
我有一个日记课程,有2个课程,日记和工作。
日记是主要的课程,我需要打电话给Job做这项工作。
以下是两个类的代码。 Class Job本身工作正常,我有问题叫班级Job做工作并返回。
课程作业添加3个字段。
如何从Diary调用Job并返回存储在ArrayList中的结果。
import java.util.ArrayList;
public class Diary {
ArrayList<Job> jobs;
String jobName, jobDay, jobPriority;
public Diary() {
jobs = new ArrayList<Job>();
}
}
public class Job {
public Job(String jobName, String jobDay, String jobPriority) {
name = jobName;
day = jobDay;
priority = jobPriority;
}
/**
* return the varaibles
*/
public String getName() {
return name;
}
public String getDay() {
return day;
}
public String getPriority() {
return priority;
}
// print the job details
public String getJob() {
return name + " on a " + day + " this week and its priority is " + priority;
}
}
感谢那些帮助解决它的人。
我的后续问题是我尝试打印了ArrayList的内容但没有成功。我使用了以下内容,但他们不断给我内存位置的地址而不是内容。我使用过类似的东西,但似乎没什么用。
public void addJob(String jobName, String jobDay, String jobPriority)
{
System.out.println( Arrays.toString(jobs));
System.out.println(jobs.get(0));
System.out.println(jobs.toString().replaceAll("\[\]", ""));
System.out.println(jobs.toString(jobs));
System.out.println(""+jobs.get(0).jobName);
}
任何想法。
答案 0 :(得分:0)
您正在创建两个作业列表 - 一个用于整个对象,另一个仅在构造函数中。另外,让我们重命名你的清单:
import java.util.ArrayList;
public class Diary {
ArrayList<Job> jobs;
public Diary() {
jobs = new ArrayList<Job>();
}
}
现在,您需要在列表中添加一些作业:
public Diary() {
jobs = new ArrayList<Job>();
jobs.add(new Job("Do something", "Monday", "HIGH"));
jobs.add(new Job("Do something else", "Tuesday", "MED"));
}
然后,您可能希望列出作业:
public class Diary {
...
public void printJobs {
for(Job job : jobs) {
System.out.println(job.getJob());
}
}
答案 1 :(得分:0)
opengl
没有做任何事情,名字onejob令人困惑。我推荐工作。
创建作业,然后将其添加到已经制作的arraylist作业中。
ArrayList<Job> jobs= new ArrayList<Job>()
答案 2 :(得分:0)
你需要记住的第一件事是Arraylist是一个对象,它的条目也是如此,所以除非它们有toString方法覆盖,否则你不能只是去除那些对象。
假设你从日记里面调用addJob,你实际上并没有对你传递的信息做任何事情。您需要创建一个作业并将其添加到您的arraylist。
public void addJob(String jobName, String jobDay, String jobPriority) {
Job job = new Job(jobName, jobDay, jobPriority);
jobs.add(job);
}
然后我将创建一个新方法来获取所有作业并使用已创建作业类insode的getJob方法列出它们。
public void listJobs(){
for(job : jobs) {
System.out.println(job.getJob());
}
}
有意义吗?