Mock Exam: Balanced numbers [JAVA]

Здравейте на всички,

Не разбирам защо JVM не ми дава да принтира outputa, при положение че то е извън while както и System.out.println();

Виждам че значението на ouptuta се променя когато е true, ама пише се че System.out.println(output); е unreachable statement.

защо? Нали са в един блок с outputa.

ето го кода ми:

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

Задачата:

Balanced Numbers

A balanced number is a 3 -digit number whose second digit is equal to the sum of the first and last digit.

Write a program which reads and sums balanced numbers. You should stop when an unbalanced number is given.

Input

Input data is read from the standard input

  • Numbers will be given
    • Each one will be on a separate line

Output

Print to the standard output

Constraints

  • No more than 1000 numbers will be given

Sample tests

Input

132
123

Output

 132

Input

275
693
110
742

Output

1078
import java.util.Scanner;

public class BalancedNumbers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = 0;
        while (true) {
            String number = scanner.nextLine();
            int n = Integer.parseInt(number);
            int first = n / 100;
            int second = (n % 100) / 10;
            int third = n % 10;

            if (first + third == second) {
                sum += n;
            } else {
                break;
            }
        }

        System.out.println(sum);
    }
}

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

Ето решението със булева променлива във if проверката и цикъл do-while:

1 Like

Благодаря ви за помощта, колеги!

Btw, Vegomir, твоето решение с do-while използва най-малко memory, може би си го знаеш, но реших да го споделя все пак.

30.5 MB - решението с do-while.
30.8 MB - моето решение (след поправките).
30.9 MB - първото постнато решение (без булеви).