Помогите решить эту проблему. Я хочу проверить IP-адреса в определенном диапазоне с помощью командной строки.IP-адрес в диапазоне
Например я запускаю программу в ЦМД «ява IPAddressCheck 1.1.1.1 5» и вывод должен быть:
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.1.5
это мой код, и проблема пошла я запускаю код будет рассчитывать начать с «1.1.1.2» до «1.1.1.6».
import java.util.*;
import java.net.*;
public class IPAddressCheck
{
public static void main(String[] args) throws Exception
{
String startIp = args[0];
int number = 0;
if (args.length != 1)
{
try
{
number = Integer.parseInt(args[1]);
}
catch(IllegalArgumentException e)
{
System.out.println("Error");
System.exit(0);
}
ArrayList<String> ipRange = new ArrayList<>();
String currentIp = startIp;
for(int i = 0; i < number; i++)
{
String nextIp = nextIpAddress(currentIp);
ipRange.add(nextIp);
currentIp = nextIp;
//System.out.println("----------------------------------");
System.out.println(nextIp);
}
}
else
{
System.out.println("Wrong number of arguments");
System.out.println("Please try again");
}
}
public static final String nextIpAddress(final String input)
{
final String[] tokens = input.split("\\.");
if (tokens.length != 4)
throw new IllegalArgumentException();
for (int i = tokens.length - 1; i >= 0; i--)
{
final int item = Integer.parseInt(tokens[i]);
if (item < 255)
{
tokens[i] = String.valueOf(item + 1);
for (int j = i + 1; j < 4; j++)
{
tokens[j] = "0";
}
break;
}
}
return new StringBuilder()
.append(tokens[0]).append('.')
.append(tokens[1]).append('.')
.append(tokens[2]).append('.')
.append(tokens[3])
.toString();
}
}
что вы проходите в командной строке? –
как вы это сделали? вы нашли решение? –