Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tdudzik.testproject;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- public class TestProjectApp {
- public static void main(String[] args) throws Exception {
- while (true) {
- System.out.println("Podaj liczbÄ™:");
- Scanner in = new Scanner(System.in);
- String number = in.next();
- if (isDivisibleByThree(number)) {
- System.out.println("Podzielne.");
- } else {
- System.out.println("Niepodzielne.");
- }
- }
- }
- public static boolean isDivisibleByThree(String number) {
- List<Integer> digitsDivisibleByThree = Arrays.asList(0, 3, 6, 9);
- int digit = reduceToOneDigit(number);
- return digitsDivisibleByThree.contains(digit);
- }
- public static int reduceToOneDigit(String number) {
- while (number.length() != 1) {
- number = sumDigits(number);
- }
- return Character.getNumericValue(number.charAt(0));
- }
- public static String sumDigits(String number) {
- List<Integer> digits = new ArrayList<>();
- for (char ch : number.toCharArray()) {
- digits.add(Character.getNumericValue(ch));
- }
- return digits
- .stream()
- .map(Integer::valueOf)
- .reduce(0, Integer::sum)
- .toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement