Как превратить boolean массив в массив String
Как превратить boolean массив с элементами к примеру {true, false} в массив String, заменив при этом true на Yes , false на No. Приравниваю в обычном for элементы массива bool к String с помощью метода valueOf дальше тупняк.... :)
boolean[] values = {true, false,true};
//Исходящий массив
String[] result = new String[values.length];
// Создаю такой же по размеру Стрингвый
String Yes = "Yes";
String No = "No";
for (int i = 0; i < values.length; i++) {
String y = String.valueOf(values[i]);
// присваиваю стрингу "у" трансформ в стринг индекс массива
System.out.println(y);
// проверяю что все работает
// теперь надо наполнить пустой мас result значениями из цикла выше
// Туплю
}
// резалт должен быть {Yes, No, Yes} –
ПыСы в этом деле новичок. Вроде и теорию читал по несколько раз, где то пробел.
Ответы (2 шт):
Создаете массив строк, равный по размеру массиву булов проходите по каждому булевскому элементу, если arr[i]==true => записывете в строку[i] yes Если arr[i]==false False => записываете в строку[i] no
Вот, что пишет нам документация.
valueOf(String s)
Returns a Boolean with a value represented by the specified string.
Тоесть если в параметре метода valueOf() прилетает true в строковом выражении ("true"), то тогда на выходе мы получаем истину (true) и соответственно, если указываем отличное от true, например любую строку ("какая-то строка"), то получаем ложь (false).
Для наглядности привожу простенький код, как подсказку:
public class Application {
public static void main(String[] args) {
System.out.print("Yer or No? (true/false)?\n");
Scanner scanner = new Scanner(System.in);
String value = scanner.nextLine();
scanner.close();
Boolean answer = Boolean.valueOf(value);
if (answer) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
Поиграйся с кодом. Он не сложный. Думаю все интуитивно понятно. Если возникнут вопросы, пиши.