powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / проверка на пробелы
20 сообщений из 20, страница 1 из 1
проверка на пробелы
    #34247375
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста! Ниже приведен фрагмент кода, который отслеживает, ввел ли пользователь что-либо в поле текста. Если ничего не введено, то выкидвается сообщение.
Но пользователь может все поля пробелами забить. Как выполнить проверку на ввод пробелов?
Заранее благодарен

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
fn=request.getParameter("textFN");
	ln=request.getParameter("textLN");
	em=request.getParameter("textEM");
	//(fn.equals(""))||(ln.equals(""))||(em.equals(""))||
	 if  ((fn.equals( null ))||(ln.equals( null ))||(em.equals( null ))) // метод проверки заполнения всех полей
	//if((fn.compareTo("")==0)||(ln.compareTo("")==0)||(em.compareTo("")==0)) // метод проверки заполнения всех полей
	{
		out.println("<html><body>");
		out.println("<h3>Вы должны ввести все данные!</h3>");
		out.println("</html></body>");
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247383
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может стоит убить пробелы перед проверкой? Например метод String.trim()
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247384
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ruslan.IsbarovМожет стоит убить пробелы перед проверкой? Например метод String.trim()
Как?)
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247394
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
324f4 Ruslan.IsbarovМожет стоит убить пробелы перед проверкой? Например метод String.trim()
Как?)

Код: plaintext
1.
 if  (fn.trim().equals("")) || (ln.trim().equals("")) || (em.trim().equals(""))

trim() - убивает пробелы слева и справа строки, например:

Код: plaintext
1.
2.
String a = "  abcdef  ";
String b = a.trim(); /* b будет содержать "abcdef" */

Мало ли что пользователь введет, зачем лишние пробелы?
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247398
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
 if  (fn ==  null  || ln ==  null  || em ==  null  || fn.trim().equals("")) || (ln.trim().equals("")) || (em.trim().equals("")) {

...

}
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247402
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс, что то со скобками у Вас в исходном примере напутано:

Код: plaintext
1.
2.
3.
4.
5.
 if  (fn ==  null  || ln ==  null  || em ==  null  || fn.trim().equals("") || ln.trim().equals("") || em.trim().equals("")) {

...

}
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247412
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ruslan.IsbarovУпс, что то со скобками у Вас в исходном примере напутано:

Код: plaintext
1.
2.
3.
4.
5.
 if  (fn ==  null  || ln ==  null  || em ==  null  || fn.trim().equals("") || ln.trim().equals("") || em.trim().equals("")) {

...

}

Все понял) Такие же мысли были) Просто запамятовал немного, сейчас вспомнил)
Большое спасибо)
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247940
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот вместо этого
Код: plaintext
fn.trim().equals("") 
надо писать
Код: plaintext
fn.trim().length() ==  0 
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247962
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
fn=request.getParameter("textFN");
	ln=request.getParameter("textLN");
	em=request.getParameter("textEM");
	fn=fn.trim();
	ln=ln.trim();
	em=em.trim();
	 if  ((fn.equals(""))||(ln.equals(""))||(em.equals("")))
	//if ((fn == null) || (ln == null) || (em == null) || (fn.trim().equals("")) || (ln.trim().equals("")) || (em.trim().equals("")))
	//if ((fn.equals(null))||(ln.equals(null))||(em.equals(null))||fn.trim().equals("") || ln.trim().equals("") || em.trim().equals("")) 
 // метод проверки заполнения всех полей
	
	{
		out.println("<html><body>");
		out.println("<h3>Введены не все данные либо данные введены неправильно!</h3>");

Можно и так
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247985
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
request.getParameter("textLN");

легко может вернуть null, это тоде нужно проверять... и вот так писать нехорошо
Код: plaintext
ln.equals("")
...
Рейтинг: 0 / 0
проверка на пробелы
    #34247998
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал бы метод, чтоб не городить многоэтажные ифы...

Код: plaintext
1.
2.
3.
potected  boolean  isEmptyString(String s) {
     return  s ==  null  || s.trim().length() ==  0 ;
}
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248041
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
y3u
Код: plaintext
request.getParameter("textLN");

легко может вернуть null, это тоде нужно проверять... и вот так писать нехорошо
Код: plaintext
ln.equals("")

тынц
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248051
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ruslan.Isbarov y3u
Код: plaintext
request.getParameter("textLN");

легко может вернуть null, это тоде нужно проверять... и вот так писать нехорошо
Код: plaintext
ln.equals("")

тынц
сорри

тынц
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248207
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
y3u
Код: plaintext
request.getParameter("textLN");

легко может вернуть null, это тоде нужно проверять... и вот так писать нехорошо
Код: plaintext
ln.equals("")

Сорри конечно за глупый вопрос, а в чем принципиально разница в моем примере между null и пустой строкой?
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248340
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
String ln = request.getParameter("textLN");
ln=ln.trim(); // если параметра такого в реквесте небыло вот тут сразу эе упадет NullPointerException

а по поводу разницы межу equals("") и length() == 0 - с точки зрения внутренностей проще просто проверитьсчетчик символов у стринги, чем тягать длинный икуалс, особенно, если в параметре будет длинная строка какая-нибудь...
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248441
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
y3u
Код: plaintext
1.
2.
String ln = request.getParameter("textLN");
ln=ln.trim(); // если параметра такого в реквесте небыло вот тут сразу эе упадет NullPointerException

а по поводу разницы межу equals("") и length() == 0 - с точки зрения внутренностей проще просто проверитьсчетчик символов у стринги, чем тягать длинный икуалс, особенно, если в параметре будет длинная строка какая-нибудь...

То есть можно так:
Код: plaintext
 if  ((fn.trim().length()== 0 ) || (ln.trim().length()== 0 ) || (em.trim().length()== 0 ))
А на null все равно необходимо проверять?
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248448
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо) тогда сделаю так:
Код: plaintext
 if  ( (fn ==  null ) || (ln ==  null ) || (em ==  null )||(fn.trim().length()== 0 ) || (ln.trim().length()== 0 ) || (em.trim().length()== 0 ))
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248507
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пустая строка

String a = "";

это не то же самое что

String b = null;

Поэтому в случае b.trim() у Вас будет NullPointerException и все упадет.

Теперь посмотрим на Ваше условие (стоит также почитать про приоритет операций и убрать не нужные скобки ;) ):

Код: plaintext
1.
2.
 if  (fn ==  null  || ln ==  null  || em ==  null  || fn.trim().length() ==  0  || ln.trim().length() ==  0  || em.trim().length() ==  0 ) {
}

Если fn будет равно null то дальнейшие проверки типа fn.trim().length() == 0 не будут выполнены, т.к. результат уже будет true.
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248682
324f4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ruslan.IsbarovПустая строка

String a = "";

это не то же самое что

String b = null;

Поэтому в случае b.trim() у Вас будет NullPointerException и все упадет.

Теперь посмотрим на Ваше условие (стоит также почитать про приоритет операций и убрать не нужные скобки ;) ):

Код: plaintext
1.
2.
 if  (fn ==  null  || ln ==  null  || em ==  null  || fn.trim().length() ==  0  || ln.trim().length() ==  0  || em.trim().length() ==  0 ) {
}

Если fn будет равно null то дальнейшие проверки типа fn.trim().length() == 0 не будут выполнены, т.к. результат уже будет true.
Понятно) И все таки не просвятите чайника, в чем разница между пустой строкой и null-значением?)
...
Рейтинг: 0 / 0
проверка на пробелы
    #34248721
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пустая строка - это объект String с пустым массивом символов, а null - это null
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / проверка на пробелы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]