Код написал,но в консоль выдаются символы при использовании кириллицы.
Символы:
Код:
import java.util.Scanner;
public class Pyatnadcat2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
System.out.println(capitalize(s));
}
static String capitalize(String s){
char[] arr = s.toCharArray();
boolean inWord = false;
for (int i = 0; i< arr.length; i++) {
if (arr[i] >= 97 && arr[i] <= 122) {
if (inWord) {
continue;
}
arr[i] -= 32;
inWord = true;
} else {
inWord = false;
}
}
return new String(arr);
}
}
Во-первых, в NetBeans нужно поменять кодировку проекта на utf-8:
Правой кнопкой на проекте - свойства -> картинка:
Следующий момент (или замечание?):
Вы вводите в консоль русские буквы, а в методе проверяете латинские строчные:
цифра в html-коде символа - это и есть этот символ в Java, что Вы проверяете (97-122 диапазон) (*кто-нибудь, ради Бога, отредактируйте и напишите правильно)
А это значит, что Ваш код работает так, что Вы вводите кириллицу - и выводите ту же кириллицу, без манипуляций.
p.s. А вообще, лучше использовать встроенный метод toUpperCase и не забивать себе этим голову ;)
Вместо дремучего кода типа:
if (arr[i] >= 97 && arr[i] <= 122)
надо использовать нормальные методы типа: Character.isLowerCase(arr[i])
, а вывих arr[i] -= 32
лечится методом: Character.toUpperCase(arr[i])
А вообще профессиональный подход это использовать внешнюю библиотеку, например Apache Commons-Lang где такие вещи уже давно вылизаны и отработаны.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Дано действительное положительное число a и целое неотрицательное число n
Здравствуйте, господа! Работал тут с API ЯДиска, все шло хорошо до момента отправки авторизации не из SDKТут просят сделать так:
Нужно выводить заряд батареи на экран что собственно и делаю ,но дальше он должен изменятся в зависимости от уровня ,но у меня он печатает...