Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于Appstore的应用程序,将保存应用程序列表_Java_Arraylist - Fatal编程技术网

Java 基于Appstore的应用程序,将保存应用程序列表

Java 基于Appstore的应用程序,将保存应用程序列表,java,arraylist,Java,Arraylist,因此,我试图建立一个列表,列出客户端将添加/删除的所有应用程序的名称。因此,我尝试使用LinkedList并编写了以下代码:- package academy.learnprogramming; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; public class AppStore { pr

因此,我试图建立一个列表,列出客户端将添加/删除的所有应用程序的名称。因此,我尝试使用LinkedList并编写了以下代码:-

   package academy.learnprogramming;

   

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

public class AppStore {


    private List<String> ListofApps = new LinkedList <String> ();

    public void addApp (String Apptobeadded) {
        ListIterator<String> apps = ListofApps.listIterator();
        while (apps.hasNext()) {
            int comparision = apps.next().compareTo(Apptobeadded);
            if (comparision == 0) {
                System.out.println("There is already a similar app. Please change the name");
            } else
                apps.add(Apptobeadded);


        }


    }
        public void removeApp (String Apptobedeleted) {
        ListIterator <String> apps = ListofApps.listIterator() ;
        while (apps.hasNext()) {
            int comparision = apps.next().compareTo(Apptobedeleted);
            if (comparision == 0) {
                int appindex = ListofApps.indexOf(Apptobedeleted);
                ListofApps.remove(ListofApps.remove(appindex));
            }




    }}

    public void showalltheapps (){
        System.out.println(ListofApps);
    }


}
package academy.learnprogramming;
导入java.util.Iterator;
导入java.util.LinkedList;
导入java.util.List;
导入java.util.ListIterator;
公共类应用商店{
私有列表ListofApps=newlinkedlist();
public void addApp(字符串apptoheaded){
ListIterator apps=ListofApps.ListIterator();
while(apps.hasNext()){
int comparison=apps.next().comparieto(apptobeaded);
如果(比较==0){
System.out.println(“已经有一个类似的应用程序,请更改名称”);
}否则
apps.add(apptoheaded);
}
}
public void removeApp(字符串Apptobedeleted){
ListIterator apps=ListofApps.ListIterator();
while(apps.hasNext()){
int comparison=apps.next().comparieto(Apptobedeleted);
如果(比较==0){
int-appindex=ListofApps.indexOf(Apptobedeleted);
ListofApps.remove(ListofApps.remove(appindex));
}
}}
public void显示所有应用程序(){
System.out.println(ListofApps);
}
}
因为我只是想学习,所以我假设应用程序只是字符串

我现在面临的问题是,当我尝试使用showalltheapps命令时,输出完全没有显示任何内容


我哪里出错了?为了使代码可用,我可以更改哪些内容。

问题是当列表为空时,
apps.hasNext()
返回false。您的列表最初是空的。因此,如果列表为空,addApp和removeApp方法将不会执行任何操作

将空列表检查添加到代码中,例如:

public void addApp(String Apptobeadded) {
        ListIterator<String> apps = ListofApps.listIterator();
        
        // handling empty list
        if (ListofApps.isEmpty()) {
            apps.add(Apptobeadded);
            return;
        }

        while (apps.hasNext()) {
        // rest of your code
        // ...
public void addApp(字符串apptobedded){
ListIterator apps=ListofApps.ListIterator();
//处理空列表
if(ListofApps.isEmpty()){
apps.add(apptoheaded);
返回;
}
while(apps.hasNext()){
//代码的其余部分
// ...

明白了。非常感谢。我非常感谢您的帮助。很高兴。如果答案解决了您的问题,请“接受它”: