Стоит ли закрывать сканер в конце выполнения кода?

У меня программы 2 файла.

1)

package com;

public class first {
    public static void main(String[] args) {
        second bmw = new second();
        System.out.println("Машина BMW:");
        bmw.input();
        System.out.println("Скорость: " + bmw.speed + ". Вес: " + bmw.weight + ". Цвет: " + bmw.color + ". Тип: " + bmw.type);
        System.out.println("Машина Merc:");
        second merc = new second();
        merc.input();
        System.out.println("Скорость: " + merc.speed + ". Вес: " + merc.weight + ". Цвет: " + merc.color + ". Тип: " + merc.type);
    }
}
package com;

import java.util.Scanner;

public class second {
    int speed, weight;
    String color, type;
    
    public void input() {
        Scanner input = new Scanner(System.in);
        System.out.println("ВВЕДИТЕ ДАННЫЕ ОБЪЕКТА!");
        System.out.println("Скорость: ");
        speed = input.nextInt();
        System.out.println("Вес: ");
        weight = input.nextInt();
        System.out.println("Тип: ");
        input.nextLine();
        type = input.nextLine();
        System.out.println("Цвет: ");
        color = input.nextLine();
        input.close();
    }
}

Я хочу создать 2 объекта, а данные для него вводить 1 сканером. Когда начинаю вводить данные второго объекта, то появляется ошибка. Если же не закрывать сканер, то ошибки нет. Как тут быть?


Ответы (0 шт):