Example
String creditCardNumber1 = "4561261212345467";
int sum = IntStream.range(0, creditCardNumber1.length()).filter(i -> i % 2 != 0).map(i -> Character.getNumericValue(creditCardNumber1.charAt(i))).sum() + IntStream.range(0, creditCardNumber1.length()).filter(i -> i % 2 == 0).map(i -> Character.getNumericValue(creditCardNumber1.charAt(i)))
.map(value -> {
int newValue;
if ((newValue = value * 2) > 9) {
newValue = newValue - 9;
}
return newValue;
}).sum();
System.out.println(sum % 10 == 0);
I want to do it by using only one Stream because my code Is unreadable and not effective, is It possible?