Если вам нужно создать свой собственный метод toBinaryString()
, в Интернете есть множество примеров, например заимствование логики из этого ответа Выведите целое число в двоичном формате на Java :
public static String intToString(int number) {
StringBuilder result = new StringBuilder();
for(int i = 2; i >= 0 ; i--) {
int mask = 1 << i;
result.append((number & mask) != 0 ? "1" : "0");
}
return result.toString();
}
Примечание: я изменил этот метод, чтобы он содержал только 3-значные двоичные коды, поэтому наибольшее целое число, которое он может преобразовать, составляет 7
.Однако если вы хотите преобразовать большие целые числа, скажем, до 16 или 32, вам нужно увеличить счетчик в for
-цикле, который я оставлю на ваше усмотрение.
Для каждой строки в пользовательском вводе разделите ее на дефисный символ '-'
:
codes = line.split("-");
ListofCourses.addAll(Arrays.asList(codes));
...
Затем вызовите этот метод на вашем ListofCourses
:
for(int r = 0; r < ListofCourses.size(); r++){
System.out.println(intToString(Integer.parseInt(ListofCourses.get(r))));
}
ListofCourses.clear();
Тогда должно получиться ожидаемоевыход.Вот демо:
Ron's Copy
Enter 3 collections of course codes one collection per line
4-2-7
Size: 3 Sorted: [4, 2, 7]
100
010
111