所以我有一个数组,根据用户输入的内容(NoOfArrays)有x个索引。一个名为add的方法用于将字符串添加到数组中的下一个空索引..但这些都不起作用..
所以当创建一个x索引数组时,我应该能够在数组中添加一个字符串,将其删除,检查数组是否已满,检查数组中是否已存在“用户输入”字符串,等等
public class Bag1
{
private String[] store;
public Bag1(int NoOfArrays)
{
store = new String[NoOfArrays];
for (int i=0;i>store.length;i++){
store[i] = null;
}
}
public boolean isFull(){
boolean isTrue = true;
for (int i=0;i>store.length;i++) {
if (store[i] == null){
isTrue = false;
break;
}
}
return isTrue;
}
public void add(String s){
for (int i=0;i>store.length;i++){
if (store[i] == null){
store[i] = s;
break;
}
}
}
public boolean contains(String s){
boolean isTRUE = false;
for (int i=0;i>store.length;i++){
if (store[i] == s){
isTRUE = true;
}
else{
System.out.println("Does not have " + s);
}
}
return isTRUE;
}
public void remove(String s){
for (int i=0;i>store.length;i++)
if (store[i] ==s){
store[i] = null;
break;
}
}
public void showStrings(){
for (int i=0;i>store.length;i++){
System.out.print(store[i] + " ");
}
}
}
答案 0 :(得分:1)
您的for循环不正确
for (int i=0;i>store.length;i++){
从i=0
开始,条件i>store.length
将评估为false,并且不会输入循环
将其更改为
for (int i=0;i<store.length;i++){
另外,正如@Pshemo所评论的那样,请使用equals()
to compare string
答案 1 :(得分:0)
您的代码中存在几个严重问题。其中主要是你使用String
比较的无效方法:store[i] ==s
。它应该是s.equals(store[i])
。
另一个是错误的循环条件结构。如上所述@sam,您应该将其从i>store.length
更改为i<store.length
。