用于将字符串添加到不工作的数组的数组循环类

时间:2015-11-07 20:16:16

标签: java arrays loops

所以我有一个数组,根据用户输入的内容(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] + " ");
        }
    }
}

2 个答案:

答案 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