2014-10-20 5 views
-1

Как в теме. Я понятия не имею, что я делаю неправильно честно. После charAt это, очевидно, символ, но мне нужно получить этот символ из второго слова ... и добавить «_» между ними. Помогите кому-нибудь?Мне нужно извлечь первый символ из каждого слова и использовать «_» между ними после использования split()

String[] splited = im_naz.split(" "); 
    char s; 
    String str; 

    c1 = splited[0].charAt(0); 
    c2 = splited[1].charAt(0); 
    str = c1 + '_' + c2; 

Я знаю, что я делаю это неправильно, но я честно не знаю, как это сделать ...

+2

Каков ваш ожидаемый ввод? – christopher

+0

Ввод и ожидаемый результат помогут, я не очень понимаю логику здесь. – Keppil

+1

Используйте «два» вместо « –

ответ

2

У вас есть char + char + char. Теперь, компилятор будет работать, что, когда вы добавите три значения char, они создадут int. Таким образом, вы эффективно пытаетесь сказать:

String value = 5; // Or some other integer. 5 is just an example. 

Это не будет компилироваться, так как вы пытаетесь присвоить int к String. Чтобы исправить это, вам необходимо убедиться, что ваши значения: - - String. Это легко. Изменение '_' для "_". В целом, ваше заявление будет теперь:

str = c1 + "_" + c2; 

Дополнительное чтение

+0

Итак, это означает, что теперь я будет иметь letter_letter правильно ... Это что-то настолько глупое, как это. Спасибо. – spockers

+0

Да, вы будете! Но важным принципом здесь является * арифметическое продвижение *. 'char + char' будет * повышена * до' int ', который не является неявно совместимым с' String'. Изменяя '' 'на' '', вы заставили компилятор продвигать его в 'String', который совместим! – christopher

0

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

str = c1 + "_" + c2;

Смежные вопросы