I get results such as
device@3d4eac69 device@42a57993 device@75b84c92 device@6bc7c054 device@232204a1
From my understanding these numbers are the location of the data, but i want to actually print the Strings within the lists. I've been at this for awhile today and can't seem to figure it out. This is an attempt to make a prettier version of a 2d ArrayList program I had that did the job.
import java.util.ArrayList;
public class device {
private String sku;
private String name;
private boolean available;
static ArrayList<device> devices = new ArrayList<device>();
public device()
{
}
public device(String sku, String name, boolean isAvailable)
{
this.sku = sku;
this.name = name;
this.available = isAvailable;
}
public String getStatusString() {
return available ? "Available" : "Checked out";
}
public String devicePrint()
{
return String.format("SKU: %s, Name: %s, Status: %s", this.sku, this.name, this.getStatusString());
}
public void addDefaultDevices()
{
devices.add(new device("6767A", "Apple 9.7-Inch iPad Pro", true));
devices.add(new device("93P51B", "Amazon Kindle Fire Kids Edition", true));
devices.add(new device("10N8C", "LeapFrog Epic Learning Tablet", true));
devices.add(new device("85U20", "Amazon Kindle Fire HD 8", false));
devices.add(new device("91H2D", "HP Envy Note 8", true));
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MP2 {
static device deviceObj = new device();
static Scanner inputDevice = new Scanner(System.in);
public static void main(String[] args) {
// TODO Auto-generated method stub
deviceObj.addDefaultDevices();
deviceObj.devices.forEach(System.out::println);
}