разработать пользовательскую команду и несколько входов - PullRequest
0 голосов
/ 16 апреля 2020

Я JAVA новичок, и я провел некоторые исследования. Оказалось, что такого способа решения этой проблемы не существует. Мне поручено создать команду приглашения с несколькими входами данных, используя только один объект сканера.

Теперь я уже достиг следующего:

  1. Установить массив для сохранения объект NimPlayer.
  2. Установка класса NimPlayer для создания уникального объекта NimPlayer.
  3. Установка счетчика, используемого в качестве индекса.

    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    
    System.out.print('$');
    String input = in.next();
    
    // initialize an array
    NimPlayer [] playerList = new NimPlayer[10];
    
    // create a position in the array
    int addUserCount = 0;
    if (input.equals("addplayer")) {
        String userName = in.next();
        String familyName = in.next();
        String givenName = in.next();
    
        addUserCount +=1;
        playerList[addUserCount] = new NimPlayer(userName, familyName, givenName); 
    
    }
    
    public class NimPlayer {
    String userName;
    String familyName;
    String givenName;
    
    public NimPlayer(String userName,String surName, String givenName) {
        this.userName = userName;
        this.familyName = surName;
        this.givenName = givenName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public void setFamilyName(String familyName) {
        this.familyName = familyName;
    }
    public void setGivenName(String givenName) {
        this.givenName = givenName;
    }    
    public String getUserName() {
        return userName;
    }
    public String getfamilyName() {
        return familyName;
    }
    public String getGivenName() {
        return givenName;
    }
    }
    

    цель должен выглядеть так:

    addplayer userName, familyName, GivenName

Так вот почему я использую next () для определения первого слова, и пробел используется по умолчанию разделитель.

Я не уверен, что делать дальше. Что я должен сделать, чтобы добавить функцию, которая разделяет входы, используя «,».

Любая помощь приветствуется.

1 Ответ

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

Вы можете читать строки с помощью Scanner.nextLine (). Вот пример того, как вы можете ввести «имя пользователя, фамилия, имя» в одну строку и разделить на String.split («,»).

public static void main(String[] args) {
    Scanner s = new Scanner(System.in); 

    String line = s.nextLine();
    String[] splittedLine = line.split(",");

    for(int i = 0; i < splittedLine.length; i++) {
        System.out.printf("splitted line: %d. %s \n", i, splittedLine[i].trim());
    }
}

Ввод:

name, surename, username

Ввод:

splitted line: 1. name 
splitted line: 2. surename 
splitted line: 3. username 
...