Отрабатывает корректно, но по первому пункту не проходит
package com.javarush.task.task39.task3908;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Возможен ли палиндром?
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter your string: ");
String s = bufferedReader.readLine();
isPalindromePermutation(s);
}
public static boolean isPalindromePermutation(String s) {
ArrayList<Character> arrayList=new ArrayList<>();
boolean x=false;
for(int i=0;i<s.length();i++){
if(i==0){
arrayList.add(s.charAt(i));
}else{
for(int j=0;j<arrayList.size();j++){
if(s.charAt(i)==arrayList.get(j)){
x=true;
}
}
if(!x){
arrayList.add(s.charAt(i));
}
x=false;
}
}
ArrayList<Boolean> arrayBoolean=new ArrayList<>();
int count=0;
for(int j=0;j<arrayList.size();j++){
System.out.println(arrayList.get(j));
for(int i=0;i<s.length();i++){
if(arrayList.get(j)==s.charAt(i)){
count++;
}
}
if(count%2==0){
arrayBoolean.add(true);
}else{
arrayBoolean.add(false);
}
count=0;
System.out.println(arrayBoolean.get(j));
}
boolean result=false;
if(s.length()%2==0){
result=true;
for(int i=0;i<arrayBoolean.size();i++){
if(!arrayBoolean.get(i)){
result=false;
}
}
}else{
for(int i=0;i<arrayBoolean.size();i++){
if(result&&!arrayBoolean.get(i)){
result=false;
break;
}
if(!arrayBoolean.get(i)){
result=true;
}
}
}
System.out.println("Result "+result);
return result;
}
}