Мне нужно создать программу, которая получает от пользователя 4 целых числа и проверяет, является ли ввод от 0 до 255 исключительным.Все работает, за исключением моего окончательного вывода, IP-адрес, который в значительной степени все входы в одну строку.Он продолжает печатать 0, потому что мне пришлось инициализировать мои переменные перед использованием их в массиве, поэтому я присвоил им значение 0. Однако это значение должно было измениться в цикле for, но оно все равно выводит неверное значение.Я могу распечатать IP-адрес только один раз, и он должен быть в конце.Я знаю, что есть более простой способ сделать это, но я все еще хочу знать, как решить эту проблему для дальнейшего использования.Вот мой код:
import java.util.Scanner;
класс Main {
public static void main(String[] args) {
Scanner run = new Scanner(System.in);
String per = ".";
int firstInput = 0;
int secondInput = 0;
int thirdInput = 0;
int fourthInput = 0;
boolean firstMeetsParameters = true;
boolean secondMeetsParameters = true;
boolean thirdMeetsParameters = true;
boolean fourthMeetsParameters = true;
int[] inputs = new int[] {firstInput,secondInput,thirdInput,fourthInput};
boolean[] condition = new boolean[] {firstMeetsParameters,secondMeetsParameters,thirdMeetsParameters,fourthMeetsParameters};
String[] num = new String[] {"first", "second", "third", "fourth"};
for(int x = 0; x < inputs.length; x++) {
System.out.println("Please enter the " + num[x] + " octet:");
inputs[x] = run.nextInt();
if(inputs[x] < 0 || inputs[x] > 255) {
condition[x] = false;
}
}
for(int i = 0; i < inputs.length; i++){
if(condition[i] == false) {
System.out.println("Octet " + (i+1) + " is incorrect.");
}
}
System.out.println("IP Address: " + firstInput + per + secondInput + per + thirdInput + per + fourthInput);
}
}