Ошибка StringTokenizer: несовместимые типы: объект не может быть преобразован в строку - PullRequest
0 голосов
/ 27 мая 2018

Мой код:

class Customer
{
String name_dob,name,dob,dd,mm,yyyy;
void stringTokenize()
{
    StringTokenizer st1 = new StringTokenizer(name_dob,",");
    name = st1.nextElement();
    dob = st1.nextElement();
    StringTokenizer st2 = new StringTokenizer(dob,"/");
    dd = st2.nextElement();
    mm = st2.nextElement();
    yyyy = st2.nextElement();
}
void display()
{
    System.out.println(name + "," + dd + "," + mm + "," + yyyy);
}
}
public class Main
{
public static void main(String[] args) {
    int i,n;
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter the number of data");
    n = sc.nextInt();
    Customer[] obj = new Customer[n];
    for(i=0;i<n;i++)
    {
        obj[i] = new Customer();
        System.out.println("Enter the data");
        obj[i].name_dob = sc.nextLine();
        obj[i].stringTokenize();
    }
    System.out.println("After tokenizing........");
    for(i=0;i<n;i++)
    {
        System.out.println("The data is");
        obj[i].display();
    }

}
}

Ошибка, которую я получаю

Main.java: 23: ошибка: несовместимые типы: объект не может быть преобразован в String name = st1.nextElement ();

Main.java: 24: ошибка: несовместимые типы: объект не может быть преобразован в строку dob = st1.nextElement ();

Main.java: 26: ошибка: несовместимотипы: объект не может быть преобразован в строку dd = st2.nextElement ();

Main.java: 27: ошибка: несовместимые типы: объект не может быть преобразован в строку mm = st2.nextElement ();

Main.java: 28: ошибка: несовместимые типы: объект не может быть преобразован в строку yyyy = st2.nextElement ();

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Возможно, вы захотите использовать nextToken вместо nextObject.Или используйте nextObject и преобразуйте его в String, но это похоже на издержки.

Посмотрите на Javadoc

nextElement () Возвращает то же значение, что и метод nextToken , за исключением того, что его объявленным возвращаемым значением является Object, а не String.

0 голосов
/ 27 мая 2018

Используйте nextToken вместо nextElement.

В документации nextElement говорится:

Возвращает то же значение, что и метод nextTokenза исключением того, что его объявленное возвращаемое значение - Object, а не String.

...