Java 基于Appstore的应用程序,将保存应用程序列表
因此,我试图建立一个列表,列出客户端将添加/删除的所有应用程序的名称。因此,我尝试使用LinkedList并编写了以下代码:-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
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()){
//代码的其余部分
// ...
明白了。非常感谢。我非常感谢您的帮助。很高兴。如果答案解决了您的问题,请“接受它”: