格式:get(index):Object。
public class MyArrayList {
public String[] arrays = {};
public MyArrayList() {
arrays = new String[10];
}
public int get(int i){
for(int index = 0; index< arrays.length; index++) {
}
return i;
}
}
public class MyArrayListTest {
static MyArrayList zoo = new MyArrayList();
public static void printZoo() {
System.out.print("The zoo now holds " + zoo.size() + " animals: ");
for (int j = 0; j < zoo.size(); j++) System.out.print(zoo.get(j) + " ");
System.out.println();
}
public static void main(String[] args) {
System.out.println("Testing constructor, add(object) and size() ");
zoo.add("Ant");
zoo.add("Bison");
zoo.add("Camel");
zoo.add("Dog");
zoo.add("Elephant");
zoo.add("Frog");
zoo.add("Giraffe");
zoo.add("Horse");
printZoo();
System.out.println();
}
}
使用此代码打印出来:
测试构造函数,添加(对象)和大小() 动物园现在拥有10只动物:0 1 2 3 4 5 6 7 8 9
显然我的get方法代码是非常错误的,但不是打印出数字,而是打印出“Ant”,“Bison”,“Camel”等等。
所有帮助都对代码表示赞赏,因为我是一名非常新的程序员。感谢。
答案 0 :(得分:1)
修复获取方法
public int get(int i){
for(int index = 0; index< arrays.length; index++) {
}
return i;
}
好的,让我们来看看这个吗?用户可以提供一些值..
i < 0
0 < i < size of array <-- The only valid one.
i > size of array
首先你需要检查一下!
if(i > 0 && i < arrays.length) {
// This is a valid index!
}
好的,所以你知道它是一个有效的索引。第二步是检索值..
return arrays[i];
最后,需要设置返回类型。目前是int
。在此示例中,它必须为String
..
public String get(int i)
就这么简单!当您致电printZoo()
时,您会看到价值而不是他们的指数。
在您的对象上
您可以拥有类型Object
的数组,而无需导入任何类。这会将类型arrays
的{{1}}更改为..
String[]
答案 1 :(得分:0)
您的代码在技术上是正确的,但是如果您想在运行时返回字符串值,则必须将方法中返回的值更改为String,如
中所示。public int get(int i){
for(int index = 0; index< arrays.length; index++) {
}
return i;
到
public String get(int i){
return arrays[i];
}
同样在你的方法printZoo()中,你有另一个循环,所以我想象你的代码打印出重复的值。那么为什么你没有处理for循环的printZoo方法和上面显示值的get()方法
所以将你的get方法更改为我在这里的方法,一切都应该适合你
如果它不起作用,那么试试这些代码
<强> MyArrayList.java 强>
public class MyArrayList{
public String[] arrays = {};
public int i = 0;
public MyArrayList() {
arrays = new String[10];
}
public void add(String a)throws ListFullException{ //Add to List if Arraylist is not full
if(i != arrays.length-1){
arrays[i] = a;
i++;
}
else{
throw new ListFullException("List Full");
}
}
public String get(int i){
return arrays[i];
}
public int getArraySize(){
return arrays.length;
}
}
<强> MyArrayListTest.java 强>
public class MyArrayListTest {
static MyArrayList zoo = new MyArrayList();
public static void printZoo() {
System.out.print("The zoo now holds " + zoo.getArraySize() + " animals: ");
for (int j = 0; j < zoo.getArraySize(); j++) System.out.print(zoo.get(j) + " ");
System.out.println();
}
public static void main(String[] args) {
System.out.println("Testing constructor, add(object) and size() ");
zoo.add("Ant");
zoo.add("Bison");
zoo.add("Camel");
zoo.add("Dog");
zoo.add("Elephant");
zoo.add("Frog");
zoo.add("Giraffe");
zoo.add("Horse");
printZoo();
System.out.println();
}
}
Exceptions类
<强> ListFullException.java 强>
public class ListFullException extends RuntimeException{
public ListFullException(String m){
super(m);
}
}
我希望这对你来说是一个很棒的学习工具,如果你觉得这对你有所帮助,那就是upvote并接受:):P
答案 2 :(得分:0)
它正在打印一个int,因为你正在调用zoo.get(j)
并且get()返回ints:
public int get(int i){
for(int index = 0; index< arrays.length; index++) {
}
return i;
你需要返回一个字符串,类似于:
public String get(int i){
return arrays[i];
}