public class Solution {
public static void main(String[] args) throws IOException {
TreeSet<Character> treeSet = new TreeSet<>();
String fileName = args[0];
FileInputStream inputStream = new FileInputStream(fileName);
int count = 0;
while ((count = inputStream.read())!= -1) {
boolean isChar = String.valueOf(Character.valueOf((char) count)).matches("[a-zA-Z]");
if (isChar) {
String s = String.valueOf(Character.valueOf((char) (count))).toLowerCase(Locale.ROOT);
char[] chars = s.toCharArray();
for (char c : chars) {
treeSet.add(c);
}
}
}
count = 0;
for (Character character: treeSet) {
System.out.print(character);
count++;
if (count >= 5){
break;
}
}
}
}Artamon Khakimullin
35 уровень
Normal syntax?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стас ПасинковSoftware Developer в ZipyMaster
21 сентября 2024, 23:10
з 7 по 25 рядки там зайвий пробіл у відступах. і взагалі краще відступи робити табами
змінна count не є ніяким лічильником, тож краще їй дати іншу назву
дублювання коду у 8 і 10 рядках: String.valueOf(Character.valueOf((char) count))
нащо Locale.ROOT, коли можна і без нього? зможете аргументувати чому застосували саме цю локаль?
в цій задачі дві логічні дії:
1. зчитування символа і наповнення TreeSet-у
2. вивід на екран.
логічно було б розділити ці дві дії на два окремі методи, а не все тулити в main()
ну і + те, що написала Ксенія, звісно)
0
Ksenia VolkovaJava Developer в DXCMaster
4 октября 2021, 14:12
Много мусора.
У тебя есть символ из файла. Зачем его превращать в строку, строку в массив, а из массива снова символ?
+2