我有一个红宝石背景和我新的java我写了一个基本的程序,但不知怎的,我得到一个错误,我无法修复!我的代码:
import java.util.ArrayList;
public class Music {
private ArrayList<String> files;
public static void main(String args[]){
Music a = new Music();
a.addFile("Chasen Paper");
a.addFile("Mama");
a.addFile("Hell Yes");
a.removeFile("Hell Yes");
}
public Music(){
files = new ArrayList<String>();
}
public void addFile(String filename){
files.add(filename);
}
public void returnFiles(){
for(int i = 0; files.size() <= i; i++){
System.out.println( i + ". Ist: " + files[i]);
}
}
public void removeFile(String filename){
System.out.println("Vorher gab es " + files.size() + " Dateien");
files.remove(filename);
System.out.println("Jetzt gibt es " + files.size() + " Dateien");
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我得到了某种错误:我错了什么?谢谢!
Music.java:26: error: array required, but ArrayList<String> found
System.out.println( i + ". Ist: " + files[i]);
Run Code Online (Sandbox Code Playgroud)
Sud*_*hul 14
您需要使用该get()方法从一个特定的索引获取元素ArrayList.您不能使用[]在arraylist中的特定索引处获取元素.它只适用于数组,files而不是数组,而是ArrayList.
System.out.println( i + ". Ist: " + files.get(i));
Run Code Online (Sandbox Code Playgroud)
此外,for循环中的条件有点偏.files.size() <= i是false,因此,它根本不进入for循环.
把它改成这样的东西.
for(int i = 0; i < files.size() ; i++){
Run Code Online (Sandbox Code Playgroud)