首先感谢您查看我的问题。我的任务对大多数人来说都很基础,但我是一个没有经验的程序员。以下是作业的说明:
您的目标是编写一个名为Storage的类,它可以包含一系列字符串。它必须实现以下方法:
好吧我们做了一些更改,我开始编写一些代码,但是无法正确编译。基于对方法的描述,有人可以告诉我我做错了吗?
public class Storage {
//variables
private String[] list;
private int size = 10;
private int index = 0;
public boolean addItem(String s) {
for (int i = 0; i < list.length; i++) {
if (!list.equals(null)) {
list[i] = s;
}
}
return true;
}
public String[] getItems() {
for (int i = 0; i < list.length; i++) {
if(!list.equals(null)) {
System.out.println(list[i]);
i++;
}
}
return list;
}
public boolean isFull() {
if (list.length > size) {
System.out.println("The array is full");
}
return true;
}
public boolean removeItem(String s) {
for (int i = index; i < list.length - 1; i++) {
list[i] = list[i + 1];
}
return true;
}
}
答案 0 :(得分:0)
addItem(String s)
:该方法应返回一个布尔值,因为您使用的是ArrayList
,我们可以使用add(Object o)
,它返回一个布尔值。
public boolean addItem(String s) {
return list.add(s); // I'm assuming that your instance variable is named list
}
getItems()
:使用名为ArrayList
的{{1}}类中的方法,传入要转换为的数组类型的参数。
toArray()
public String[] getItems() {
return list.toArray(new String[list.size()]);
}
:不完全确定教师在这里要求的是什么,因为isFull()
会自动调整大小,但你可以在你的类中添加一个包含最大大小的实例变量然后检查像这样反对......
ArrayList
当然,这意味着添加代码以检查您添加的元素是否违反了容量。我将在下面的完整示例中显示这一点。
public static final int SIZE = 10;
...
public boolean isFull() {
return list.size() >= SIZE;
}
:removeItem(String s)
中的remove()
方法被重载以接受要删除的对象。同样,此方法也返回一个布尔值。
ArrayList
总而言之,你应该有类似以下内容......
public boolean removeValue(String s) {
return list.remove(s); // Removes the first occurrence of the string
}