IntelliJ печатает только часть нужного вывода (Java) - PullRequest
0 голосов
/ 11 октября 2018

Надеюсь, об этом раньше не спрашивали, извиняюсь, если есть, и заранее благодарю за любую помощь!

Проблема: Следующая программа разбивает файл на последовательности, подсчитывает буквы в последовательностяхи выполняет вычисления с этими числами.Я проверял, правильно ли разделяется файл, распечатывая их с помощью цикла, и кажется, что определенные циклы печатают только часть желаемого результата.Я понимаю, что это не главная ошибка, но меня раздражает неспособность выяснить проблему.

Примечание: это университетское задание, поэтому существуют ограничения, поэтому код не чистый.

Вот мой код:

public String cryptanalysis() throws IOException {
    // Please, do not remove the editor-fold comments.
    //<editor-fold defaultstate="collapsed" desc="Write your code here below!">


    //</editor-fold> // END OF YOUR CODE
     //use this for IOC

    int period = 7; //possible key lengths

    for (int i = 1; i < period + 1; i++) {
        Util util = new Util();
        System.out.println("Period = " + i);

        String sequences[] = new String[i]; //broken up strings

        for (int a = 0; a < sequences.length; a++) {
            sequences[a] = "";
        }
        int sequenceCounter = 0;


        for (int j = 0; j < ciphertext.length(); j++) {
            sequences[sequenceCounter] = sequences[sequenceCounter] + ciphertext.charAt(j);
            sequenceCounter++;

            if (sequenceCounter == sequences.length) {
                sequenceCounter = 0;
            }
        }

        double[] indexOfCoincidences;
        indexOfCoincidences = new double[i];
        double sumOfIndexOfCoincidences = 0.0;

        for (int k = 0; k < indexOfCoincidences.length; k++) {
            //System.out.println("Sequence" + k + " - " + sequences[k]);
            indexOfCoincidences[k] = util.calculateIOC(sequences[k]);
            System.out.println("Sequence 0 - " + sequences[0]);
            System.out.println("IOC of sequence " + k + " - " + indexOfCoincidences[k]);
            sumOfIndexOfCoincidences = sumOfIndexOfCoincidences + indexOfCoincidences[k];
        }

        double averageIndexOfCoincidence = sumOfIndexOfCoincidences/indexOfCoincidences.length;
        //System.out.println(indexOfCoincidences.length);
        System.out.println("IOC " + indexOfCoincidences.length + " = " + averageIndexOfCoincidence);

    }

А вот вывод (я выделил проблемы):

Period = 1
Sequence 0 - vptnvffuntshtarptymjwzirappljmhhqvsubwlzzygvtyitarptyiougxiuydtgzhhvvmum
shwkzgstfmekvmpkswdgbilvjljmglmjfqwioiivknulvvfemioiemojtywdsajtwmtcgluy
sdsumfbieugmvalvxkjduetukatymvkqzhvqvgvptytjwwldyeevquhlulwpkt

IOC of sequence 0 - 0.044944352356144926

IOC 1 = 0.044944352356144926

Period = 2

ssmbegvlxjutktmkzvvvttwlyeqhuwk <- Section of output missing

IOC of sequence 0 - 0.04492670854749667

ssmbegvlxjutktmkzvvvttwlyeqhuwk <- Section of output missing

IOC of sequence 1 - 0.046640015229392734

IOC 2 = 0.0457833618884447

Period = 3

hztemsgllgjwiklfiejwawcu <- Section of output missing

sfemlkuutvzqvywdeuup <- Section of output missing

IOC of sequence 0 - 0.036435469710272166

hztemsgllgjwiklfiejwawcu <- Section of output missing

sfemlkuutvzqvywdeuup <- Section of output missing

IOC of sequence 1 - 0.045609548167092936

hztemsgllgjwiklfiejwawcu <- Section of output missing

sfemlkuutvzqvywdeuup <- Section of output missing

IOC of sequence 2 - 0.04901960784313726

IOC 3 = 0.04368820857350079

Period = 4

wsepdljmwiufoowjtusmevxukmzvtwyquk <- Section of output missing

IOC of sequence 0 - 0.04072398190045249

wsepdljmwiufoowjtusmevxukmzvtwyquk <- Section of output missing

IOC of sequence 1 - 0.03846153846153847

wsepdljmwiufoowjtusmevxukmzvtwyquk <- Section of output missing

IOC of sequence 2 - 0.04862745098039216

wsepdljmwiufoowjtusmevxukmzvtwyquk <- Section of output missing

IOC of sequence 3 - 0.05568627450980392

IOC 4 = 0.04587481146304676

Period = 5

Sequence 0 - vfspwphuzypuyhuhsksijjonfitatysivktyzgtdql

IOC of sequence 0 - 0.04065040650406503

Sequence 0 - vfspwphuzypuyhuhsksijjonfitatysivktyzgtdql

IOC of sequence 1 - 0.04146341463414635

Sequence 0 - vfspwphuzypuyhuhsksijjonfitatysivktyzgtdql

IOC of sequence 2 - 0.048717948717948725

Sequence 0 - vfspwphuzypuyhuhsksijjonfitatysivktyzgtdql

IOC of sequence 3 - 0.0451219512195122

Sequence 0 - vfspwphuzypuyhuhsksijjonfitatysivktyzgtdql

IOC of sequence 4 - 0.04181184668989547

IOC 5 = 0.04355311355311356

Period = 6

zeslgwkfewwuselutzvweu

IOC of sequence 0 - 0.0427807486631016

zeslgwkfewwuselutzvweu

IOC of sequence 1 - 0.04991087344028521

zeslgwkfewwuselutzvweu

IOC of sequence 2 - 0.058823529411764705

zeslgwkfewwuselutzvweu

IOC of sequence 3 - 0.030303030303030297

zeslgwkfewwuselutzvweu

IOC of sequence 4 - 0.052100840336134456

zeslgwkfewwuselutzvweu

IOC of sequence 5 - 0.04369747899159665

IOC 6 = 0.04626941685765216

Period = 7

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 0 - 0.04926108374384236

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 1 - 0.0367816091954023

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 2 - 0.07142857142857142

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 3 - 0.04679802955665024

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 4 - 0.06206896551724138

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 5 - 0.041379310344827586

Sequence 0 - vurzjugrggukewjjivedt

bauyvyyl

IOC of sequence 6 - 0.059113300492610835

IOC 7 = 0.052404410039878016

1 Ответ

0 голосов
/ 11 октября 2018

Я понял это!Если в будущем у кого-то возникнет эта проблема, убедитесь, что текст в файле, который вы используете, находится на одной строке.

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