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

Въведение в програмирането, Наков, задача 9 от Методи /java/

package execises;

import java.util.Arrays;
import java.util.Scanner;

public class ThreeInOne {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("The tasks:");
        System.out.println("1. Reverse the digits in number");
        System.out.println("2. Average in line");
        System.out.println("3. Result from a * x + b = 0");

        System.out.print("Please, choice the task(number of task): ");
        int number = scanner.nextInt();
        System.out.println();

        if (number == 1){
            System.out.print("Please, enter the number > 0: ");
            int num = scanner.nextInt();

            reversedNumber(num);
        }
        else if (number == 2){
            System.out.print("Please, enter the sequence, separated by \",\": ");
            String line = scanner.next();//2,5,10,5,8

            averageOfLine(line);

        }else {
            System.out.print("Please, enter the double variables \"a\" and \"b\" (a != 0): ");
            double a = scanner.nextDouble();
            double b = scanner.nextDouble();

            printSolution(a, b);
        }
    }

    private static void printSolution(double a, double b) {
        //a * x + b = 0
        double x = -b / a;
        System.out.printf("x = %.2f", x);
    }

    private static void averageOfLine(String line) {
        int[] result = Arrays.stream(line.split(",")).mapToInt(Integer::parseInt).toArray();
        int sum = 0;
        for (int i = 0; i < result.length ; i++) {
            sum += result[i];
        }
        double average = sum * 1.0 / result.length;
        System.out.printf("%.2f%n", average);

    }

    private static void reversedNumber(int num) {
        while (num > 0) {
            int lastDigit = num % 10;
            System.out.print(lastDigit);
            num /= 10;
        }
        System.out.println();
    }
}
Тагове:
0
Module: Java Advanced
svetoslav_0 avatar svetoslav_0 1009 Точки

Здравей.
Разгледах решението ти, добро е, харесва ми :) Обаче има нещо, което ми направи впечатлени и смятам, че можеш да помислиш върху следния проблем: казвайки на един потребител да въведе 1, 2 или 3, никога нямаш гаранция, че той няма да въведе 5 например. Така при теб ще се влезе в else-а. Би било по-добре, ако при невалиден вход например се изведе съобщение, ще въведения вход е неправилен и да се подкани пак да въведе нещо.  И така докато входа е валиден :)
Същото нещо можеш да направиш и с всеки един от методите. Например възможно е редицата да е празна, нищо че пише, че не трябва да е. Опитай за всеки един от методите да направиш нещо като валидация и ако тя не отговаря да се въвежда пак :)

1
Kathy2905 avatar Kathy2905 0 Точки

Благодаря, ще я барна още малко, :))

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