Как я могу структурировать свой класс Tester для этого проекта JAVA? - PullRequest
0 голосов
/ 18 декабря 2018

это суть задания: http://prntscr.com/lwbb1x

, поэтому раньше я выяснил, как EmployeeNames является частью задания, или, по крайней мере, я так думаю.Это код EmployeeNames:

   public static String[] convertName(String[] names) {
      for (int i=0; i<10; i++) {
         names[i] = names[i].substring(names[i].length() - 2, names[i].length());
        }
      return names; 

Но я в основном застрял в коде тестера.Я знаю, чего хочу, но это не работает.Может кто-нибудь мне помочь?Я почесал свою голову в этом в течение нескольких часов.

public static void main(String args[]) {
      /*Scanner scan = new Scanner(System.in);
      System.out.println("Enter 10 last names.");
      String input = scan.nextLine();
      */ (Ignore this, I wanted to try doing inputs, but couldn't even figure out how to work with them properly so I typed up sample last names for this.)

     String[] lastName = {"Jones", "Roberts", "Lee", "Chang", "Patel", "Park", "Anderson", "Liu", "Smith", "Lopez"};
     System.out.println(convertName(lastName));
    }

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

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы делаете некоторые логические ошибки в проблеме.

public static String[] convertName(String[] names) {
        String newNames[]=new String[names.length];
          for (int i=0; i<names.length; i++) {
             newNames[i] = names[i].substring(names[i].length() - 2, names[i].length());
            }
          return newNames; 
    }

В приведенном выше методе я просто создаю новый массив и возвращаю новый массив с измененными значениями.

А в методе Main следующий код:used-

public static void main(String[] args)  {
    String[] lastName = {"Jones", "Roberts", "Lee", "Chang", "Patel", "Park", "Anderson", "Liu", "Smith", "Lopez"};

            String [] result= convertName(lastName);
            for(int i=0;i<result.length;i++){
                String lastNames=result[i];
                if(lastNames !=null){
                    System.out.println(lastNames.toUpperCase().charAt(1)+"."+lastNames.toUpperCase().charAt(0)+". "+lastName[i]);
                }
            }

}

Надеюсь, это поможет вам. !!

0 голосов
/ 18 декабря 2018

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

class EmployeeNames {
    public static String[] convertName(String[] lastNames) {
        String[] formattedNames = new String[lastNames.length];
        for (int i = 0; i < lastNames.length; i++) {
            formattedNames[i] = lastNames[i].substring(lastNames[i].length() - 1) + "."
                    + lastNames[i].substring(lastNames[i].length() - 2, lastNames[i].length() - 1) + "." + lastNames[i];

        }
        return formattedNames;
    }

}

public class EmployeeNamesTester {

    public static void main(String[] args) {
        String[] lastNames = { "Jones", "Roberts", "Lee", "Chang", "Patel", "Park", "Anderson", "Liu", "Smith",
                "Lopez" };
        String[] formattedNames = EmployeeNames.convertName(lastNames);
        for (String formattedName : formattedNames) {
            System.out.println(formattedName);
        }

    }

}

Вывод:
seJones
stRoberts
eeLee
gnChang
lePatel
krPark
noAnderson
uiLiu
htSmith
zeLopez

Надеюсь, это поможет!

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