Using Java to implement a hash table (dictionary) with only arrays
Do not special case an immediate success. The test for table[code] == null in

    if (table[code] == null) {
        table[code] = new String[]{key, value};
    } else {
        while (table[code] != null) {
        ....


does not do anything useful, but only adds noise. Dive into the loop immediately.

Ditto for table[code][0].equals(key) in remove and get.
Such low level utility functions shall not System.out.println (in any case, an error message shall go to System.err). Prefer returning an error code, and let the caller decide what to do.
It is unclear how well String.hashCode() is suited for this design of a hash table. Depending on the table size, you may get plenty of collisions. Using Math.abs on a hash code also biases the distribution. Need to measure.