Loading...
IvanaPene avatar IvanaPene 0 Точки

10.Multiply Evens by Odds - Java

Java

Добър ден,
имам проблем със задача 10. Multiply Evens by Odds от лекцията Methods.

Задачата върви добре само когато зададеното от конзолата число е положително.  Опитах да поправя кода, за да върви и при отрицателнир но ми дава грешка.

Това е задачата:

Create a program that reads an integer number and multiplies the sum of all its even digits by the sum of all its odd digits:

Examples

Input

Output

Comments

12345

54

12345 has 2 even digits - 2 and 4. Even digits have sum of 6.

Also it has 3 odd digits - 1, 3 and 5. Odd digits have sum of 9.

Multiply 6 by 9 and you get 54.

-12345

54

 

А това кода ми:

https://pastebin.com/RDNNwXxJ

Благодаря предварително!

Тагове:
0
Programming Fundamentals 16/04/2020 15:13:38
Bars1967 avatar Bars1967 9 Точки
import java.util.Arrays;
import java.util.Scanner;

public class MultiplyEvensbyOdds {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int input = Integer.parseInt(scanner.nextLine());
        if(input<0){
            input=input*(-1);
        }
        int multiple = getMulOffEandO(input);
        System.out.println(multiple);


    }

    private static int getMulOffEandO(int number) {
        int evenSum = getSumOfEven(number);
        int oddSum = getSumOfOdd(number);
        return evenSum * oddSum;
    }

    private static int getSumOfOdd(int number) {
        int oddSum = 0;
        while (number != 0) {
            // num = num/10
            int digits = number % 10;
            if(digits % 2 ==1) {
                oddSum += digits;
            }
            number /=10;

        }
        return oddSum;
    }

    private static int getSumOfEven(int number) {
        int evenSum = 0;
        while (number != 0) {
            // num = num/10
            int digits = number % 10;
            if(digits % 2 ==0) {
                evenSum += digits;
            }
            number /=10;

        }
        return evenSum;

    }
}
0
Bars1967 avatar Bars1967 9 Точки

Защото идеята е да се използват методи, а не "както ти дойде" :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.