繁体   English   中英

如何插入Java String数组,如何正确找到索引,isAvailable布尔方法,项目频率

[英]How to insert into Java String array, how to properly find index, isAvailable boolean method, frequency of item

我在代码中遇到这些方法的困难,不幸的是它们必须是字符串数组。

(一些我不需要的代码)

import java.util.Scanner;

public class SortedStringArray {
    private Scanner input = new Scanner(System.in);
    private String[] list = new String[10];

    // default
    public SortedStringArray() {
        String[] list = new String[10];
    }

    // initial
    public SortedStringArray(int initialCapacity) {
        String[] list = new String[initialCapacity = input.nextInt()];
    }

    // insert
    public void insertItem(String item) {
        int i = list.length;
        int n = ++i;
        String[] list2 = new String[n];
        for (int cnt = 0; cnt < list.length; cnt++) {
            list2[cnt] = list[cnt];
        }

    }

    // print
    public void print() {
        System.out.println(list);
    }

    // isAvailable
    public boolean isAvailable(String item) {

        return true;
    }

    // get index
    public int getIndex(String item) {
        int index = -1;
        for(int i=0; i < list.length; i++) {
            index = i;
            break;
        }
        return -1;
    }

    // delete
    public void delete(int index) {
        System.out.println("Deleting an Item: ");
        String item = input.next();
        // not available
        if (list == null || index < 0 || index >= list.length) {
            System.out.println(item + " is NOT available in sorted array to delete !");
        }
        String[] list2 = new String[list.length - 1];
        for (int i = 0, k = 0; i < list.length; i++) {
            if (i == index) {
                continue;
            }
            list2[k++] = list[i];
        }

        // return array
        System.out.println(item + " is deleted from sorted string array !");
    }

    // size
    public int size() {
        return list.length;
    }
    // frequency of item

    public int frequencyOfItem(String item) {

    }
}

当前排序数组,大小:24 AAAFHHIJKKMMMNOOOQRXX YZZ

搜索项目:G在排序的字符串数组中不可用

删除项目:R从已排序的字符串数组中删除!

当前排序数组,大小为:23 AAAFHHIJKKMMMNOOOQXXY ZZ

频率项:L的出现次数为0

如果这是一个挑战,请参考以下提示:

  • isAvailable()方法-简单地遍历数组并将字符串与equals()方法进行比较。 如果找到一个,则返回true ,否则返回false
  • frequencyOfItem()方法-与上面相同,但是您还需要一个计数器来计数equals()方法返回true的次数。 只需返回该号码即可。
  • delete()方法-将要删除的对象右侧的所有值向左移动(它们的新索引(i)将为i-1)。 使用int类型的字段可在数组列表中存储值的数量。 list.length() != size() )。
  • insertItem() -找到要插入的正确索引(这是一个排序数组,对吗?),将所有值从找到的索引开始向右(i +1)移位。 在找到的索引处插入新元素。 注意:如果没有足够的空间容纳新元素,则必须重建阵列。 看看Arrays.copyOf()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM