2015-03-07 2 views
0

Я хотел бы подсчитать количество символов в строке и отрезать все лишние символы строки. Я думал просто использовать цикл while и char, но мне нужно передать строку. Я также пытался использовать функцию остатка, но я "вполне уверен, что не будет работать.Глядя на ограничение длины строки в Java

Таким образом, по существу, счетчиком для строки, а затем ограничить эту строку й количества символов.

Если бы я установить строку к одному символу, скажем

String x = "*"; 

Затем реализуется счетчик в цикле ...

for(int i = 0; i < 6; i++){ 
??? 
} 

ли эта работа? Я чувствую, что это не так, и что это ульд просто быть более эффективным для меня, чтобы объявить

char x = 'a'; 

...

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

+2

У меня возникли проблемы расшифровки, что ваша цель, а также то, что ваш вопрос. Можете ли вы четко заявить, что вы пытаетесь выполнить (использовать примеры), то, что вы пробовали, и как мы можем помочь? –

+0

Если я правильно вас понимаю, вы хотите установить предел в длине строки. Вы можете сделать это с помощью String.substring (0, maxLength) – mevqz

+0

Когда вы читаете ответы ниже, имейте в виду, что вы не можете изменить длину Java 'String'. Строковые объекты _immutable_ (т. Е. Их значения никогда не могут измениться). Что вы можете сделать, так это создать _new_ String, которая короче исходной данной String. –

ответ

1
String myString = "myString"; 
int maxLength = 3; 
if (myString.length() > maxLength) 
    myString = myString.substring(0, maxLength); 

Результат будет «МЫС»

+0

Итак, я понятия не имею, как сделать форматирование этих комментариев, так что несите со мной, пожалуйста. Является ли функция .length такой же, как если бы я объявлял массив с именем myArray, а затем печатал myArray.length? – Zeklaus

+0

@ Zeklaus 'String' в Java не является массивом и не должен рассматриваться как массив. Это полнофункциональный объект с его методами и свойствами, и его следует рассматривать так. 'String # length()' возвращает количество символов в строке. –

1

«Я искал вокруг в Интернете для ручного кода для подсчета количества символов в строке, а затем в дальнейшем степени отрезать любые избыточные символы строки ".

Граф количество символов в строке:

int length = stringName.length(); 

Отрезать лишние символы строки

int maxAmount; //wherever you want to stop 
if(length > maxAmount) 
{ 
    stringName = stringName.substring(0,stopPoint); 
} 
+0

'stringName.length()' даст вам номер 'char' в строке, которая обычно, но не всегда совпадает с количеством символов.Java хранит текст в кодировке UTF-16, а некоторые одиночные юникодные_коды_код_ занимают два символа 'char'. (Я даже не собираюсь пытаться разоблачить связь между кодовыми точками и «персонажами» здесь). –

+0

Я не совсем понял, что вы сказали, но если бы я был ограничен 26 буквами в английском алфавите и цифрами 0-9, любой из этих персонажей занимал бы более одного места? Я предполагаю, что эти особые случаи будут уникальными символами в алфавите. – Zeklaus

+0

Определенно нет. Все буквы A-z верхнего регистра или строчной буквы будут работать так же, как и каждое число. – Raheel138

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