String Flip не работает, не могу понять почему? вызывает за пределами исключения - PullRequest
0 голосов
/ 06 марта 2020

Итак, идея в том, что создается строка чисел, один из символов переворачивается между 1-->0 0-->1, но позиция переворачиваемого символа случайна

public class Lab9 {
    public static void main(String args[]) {
        ScalesSolution s = new ScalesSolution("11111");
        s.println();
        s.SmallChange();
        s.println();
    }

}

input = '11111' output - это любой из символов, перевернутый в 0 output = '11101' or '10111', например

public void SmallChange() {
        String newP ="";
        int p = CS2004.UI(0, scasol.length()-1);
          char[] ch = new char[p];  
        scasol.getChars(0, p-1, ch, 0);
        String x =String.valueOf(ch);

        if (scasol.charAt(p) == 1) {
            newP ="0";
        }
        else {
            newP = "1";
        }
        scasol.getChars(p+1, scasol.length()-1, ch, 0);
        String y = String.valueOf(ch);
        x = x + newP + y;

    }
  • . Обратите внимание, что CS2004.UI - это генератор случайных чисел с равномерным распределением, основанный на времени.

1 Ответ

0 голосов
/ 09 марта 2020

@ user85421 правильно предположил, что вернул char. а также при использовании substring() обратите внимание, что конечный избыток является эксклюзивным (поэтому p-1 будет просто p

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...