Member 13049972 Ответов: 1

Отображение отсортированного результата в текстовом поле не будет работать


Я создал код сортировки выбора, я почти уверен, что часть сортировки работает, но мне нужно отобразить конечный массив в одно текстовое поле. "txtselectionS"

Что я уже пробовал:

private void btnSelectionSortActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        
        int a1= Integer.parseInt(txta1.getText()); 
        int a2= Integer.parseInt(txta2.getText());
        int a3= Integer.parseInt(txta3.getText());
        int a4= Integer.parseInt(txta4.getText());
        int a5= Integer.parseInt(txta5.getText());
        int a6= Integer.parseInt(txta6.getText());
        int a7= Integer.parseInt(txta7.getText());
                
                
        int[] arr1 = {a1,a2,a3,a4,a5,a6,a7};
        int[] arr2 = doSelectionSort(arr1);
        for(int i:arr2){
        String ms = Integer.toString(arr2[]);
        txtselectionS.setText(ms);   
            /*
            int count=1;
            String sa = Integer.toString(i);
            
            if(count<=7)
            {
                txtselectionS.setText(sa+",");
                count++;
            }
*/
                        
            //txtselectionS.setText(", ");
//System.out.print(i);
            //System.out.print(", ");   
        //}
    }                                                

    public static int[] doSelectionSort(int[] arr)
        {
         
        for (int i = 0; i < arr.length - 1; i++)
        {
            int index = i;
            for (int j = i + 1; j < arr.length; j++)
                if (arr[j] < arr[index])
                    index = j;
      
            int smallerNumber = arr[index]; 
            arr[index] = arr[i];
            arr[i] = smallerNumber;
        }
        return arr;
    }
    
    public static void main(String args[]) {
        
           
                
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Sorting().setVisible(true);
            }
        });
    }

[no name]

"Сортировка выбора не будет работать"
"я почти уверен, что сортировочная часть работает"

Либо это работает, либо нет, что именно? И какое это имеет отношение к вашему "вопросу"?

Member 13049972

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

[no name]

Хорошо, так что давай и делай это. toString в массиве не изменяет магическим образом элементы массива на строки....

Member 13049972

Как?

1 Ответов

Рейтинг:
0

Patrice T

Цитата:
я почти уверен, что сортировочная часть работает

Быть уверенным в себе-лучший путь к провалу, а иногда и смертельный.

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.