Ошибка Java: не удается разрешить метод split () - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь получить пользовательский ввод в массив String и хотел использовать метод string.split(), но по какой-то причине мой IntelliJ говорит мне, что он не может разрешить метод split ().

package com.Practice;
import java.util.Scanner;

public class Main {

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

        String[] splittedString = input.split();
    }
}

Я не думаю, что есть проблема с моим кодом, может быть, с моей версией IDE или Java, но я не эксперт в этом деле. Когда я пытаюсь запустить программу, она выдает мне эту ошибку:

Error:(10, 40) java: no suitable method found for split(no arguments)
    method java.lang.String.split(java.lang.String,int) is not applicable
      (actual and formal argument lists differ in length)
    method java.lang.String.split(java.lang.String) is not applicable
      (actual and formal argument lists differ in length)

Ответы [ 3 ]

2 голосов
/ 01 июня 2019

В Java действительно нет метода String#split, который не принимает аргументов. Вам нужно разделить строку регулярным выражением, например \\s (что означает разделение пробелами):

String[] splittedString = input.split("\\s");
1 голос
/ 01 июня 2019

Как упомянуто в некоторых других ответах, String.split() в Java требует ввода, если вы собираетесь применить что-то к каждому символу или создать массив символов, который вам нужно будет повторить, например.

private String myCoolString = "myCoolString";
private char[] chars = new char[myCoolString.length()];
//array of primitive chars
for( int i = 0; i < myCoolString.length();i++){
    chars[i] = myCoolString.charAt(i);
}

// List of boxed Characters (Java 8+, the above can be used to do this too)
List<Character> charList =
        myCoolString
                .chars()
                .mapToObj(e->(char)e)
                .collect(Collectors.toList());
0 голосов
/ 01 июня 2019

Вам необходимо добавить аргумент в методе split . метод проверки разделения здесь

public class Main {

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

    String[] splittedString = input.split(" ");

}
}
...