Рубрики
Без рубрики

HackerRank #9 | Блок статического инициализатора | 🇧🇷

Эта проблема требует, чтобы, рассчитанный на площадь параллелограмм с шириной B и высотой H. Случае… Помеченный как java, статический, попробуйте, поймайте.

Это проблема просит чтобы рассчитать площадь параллелограмм с шириной B и высотой H. Случае B и H, консоли должен возвращать сообщение “java.lang. Ожидание: Ширина и высота должны быть положительными”.

Статический

Кроме того, важно, что используется блок Static инициализации. Преимущество private static methods повторного использования при необходимости повторной инициализации переменной класса.

Синтаксис инициализации static:

public class staticTest {

    static String s;
    static int n;
    static double b;

    static {
        s = "Eu sou estático";
        n = 500;
        d = 4000.0001;
    }
}

Код, предлагаемые на проблему заключается в следующем:


import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {


        //... espaço para escrever o código


public static void main(String[] args){
        if(flag){
            int area=B*H;
            System.out.print(area);
        }

    }//end of main

}//end of class


Попробуй/Поймай

Чтобы решить проблему, важно использовать как блок static сколько попробуй/поймай . Каждый раз, когда у нас есть CheckedException , мы можем использовать try/catch переадресация ошибки, сохраняя при этом работоспособность команды.

Синтаксис Try/Catch-это:

try {

} catch (Exception ex) {

}

Às vezes precisamos usar um создать новое исключение("mensagem") , чтобы указать, какие исключения хотим передать и упростить исправление ошибок в будущем.

Таким образом, разрешение проблемы, если дает следующие шаги:

  • Внутри класса Solution, передать переменные, которые являются static .
  • Создать Сканер для того чтобы input чисел.
  • Проверить, через boolean , flag, который уже был указан на главной проблемы.
  • Передать переменные B и H для расчета в параллелограмм.
  • Открыть блокнот static{}
  • Ввести блок try/catch ), указав, что если (if) a flag false , то необходимо обратиться к throw new Exception (); и печать исключением того, что было запрошено.

Таким образом, окончательное решение, внутри класса Solution, находится:

        static Scanner sc = new Scanner(System.in);
        static boolean flag = true;
        static int B = sc.nextInt();
        static int H = sc.nextInt();

static {

        try{
            if(B <= 0 || H <= 0){
                flag = false;
                throw new Exception("Breadth and height must be positive");
            }
            } catch (java.lang.Exception ex){
            System.out.println(ex);
        }

==========

Характеристика

Static

Официальной документации:

Пример синтаксиса:

Попробуй/Поймай

Исключения и синтаксис

============

Эта публикация является частью серии упражнений разрешены в Java на HackerRank. Перейдите полная серия:

  • Хакерский рейтинг #6 | Сканер e Конец файла
  • HackerRank #7 | Int в строку/Строка в Int
  • Хакерский рейтинг #8 | Дата и время
  • HackerRank #9 | Блок статического инициализатора
  • Хакерский рейтинг #10 | Форматировщик валют
  • Хакерский рейтинг #11 | Типы данных
  • Хакерранк #12 | Введение в строки
  • Хакерский рейтинг #13 | Сравнение подстрок
  • Хакерранк #14 | Абстрактный класс
  • Хакерский рейтинг #18 | Большой целитель
  • Хакерранк #19 | Петли II
  • Хакерранк #20 | Реверс строки
  • Хакерский рейтинг #23 | Ключевое слово Instanceof
  • Хакерский рейтинг #26 | Дженерики
  • Хакерский рейтинг #27 | 1D Массив
  • Хакерский рейтинг #28 | Анаграммы
  • Хакерский рейтинг #33 | Список массивов
  • HackerRank #34 | Попытка обработки исключений/Перехват
  • HackerRank #36 | Обработка исключений
  • Хакерский рейтинг #37 | Список
  • Хакерский рейтинг #38 | Подмассив
  • Хакерский рейтинг #39 | Набор хэшей

Оригинал: “https://dev.to/beatrizmaciel/hackerrank-9-static-initializer-block-48ha”