создание метода в новом классе; не может найти ошибку символа в основном классе - PullRequest
0 голосов
/ 27 апреля 2020

Я знаю, что это, вероятно, была ошибка, о которой спрашивали миллион раз, но я действительно изо всех сил пытаюсь понять, почему я получаю это с моим единственным заданным c назначением.

Я должен создать класс метода, который будет go через строку [] слов, называемых списком, и сортировать их по алфавиту. Я думал, что это будет легко ..

Вот что у меня есть, у меня нет проблем с реальной сортировкой, я просто не могу Java понять, что я пытаюсь вызвать метод , Мне дали конкретное c имя класса, код основного класса и заголовок метода, поэтому я не могу его изменить, иначе я не могу использовать средство запуска кода.

class Lesson_15_Activity{

  public static void sortAndPrint(String [] list){ //cant change
    for (int pos = 0; pos < list.length-1; pos++){
      for (int k = 0; k <= pos; k++){ //
        if (list[k].compareTo(list[pos]) < 0){
          list[pos] = list[k];
        }
      }
    }
    for (int a = 0; a < list.length-1; a++){
      System.out.println(list[a]);
    }
  }
}

//the main method 

class Main {
  public static void main(String[] args) {
    String [] list = { "against" , "forms" , "belief" , "government" , "democratic" , "movement" , "understanding"};
    sortAndPrint(list);
  //^this is where i get the error
  }
}

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

private String[] words;

public setWords(){
    words = list;
}

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Вы определяете два класса: Lesson_15_Activity и Main, и вы пытаетесь использовать метод sortAndPrint начиная с класса Main, когда он определен в Lesson_15_Activity.

Одно простое решение - объединить оба класса:

class Lesson_15_Activity{

      public static void sortAndPrint(String [] list){ //cant change
        for (int pos = 0; pos < list.length-1; pos++){
          for (int k = 0; k <= pos; k++){ //
            if (list[k].compareTo(list[pos]) < 0){
              list[pos] = list[k];
            }
          }
        }
        for (int a = 0; a < list.length-1; a++){
          System.out.println(list[a]);
        }
      }

      public static void main(String[] args) {
        String [] list = { "against" , "forms" , "belief" , "government" , "democratic" , "movement" , "understanding"};
        sortAndPrint(list);
      //^this is where i get the error
      }
}
0 голосов
/ 27 апреля 2020

Вы можете go прямо так, как это

import java.util.Arrays;


public class Lesson15Activity {

    public static void main(String[] args) {
        String[] list = {"against", "forms", "belief", "government", "democratic", "movement", "understanding"};
        sortAndPrint(list);
        //^this is where i get the error
    }

    public static void sortAndPrint(String[] list) { //cant change
        Arrays.stream(list).sorted().forEach(e -> System.out.println(e));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...