Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 范围内的IP地址_Java_Arrays_Arraylist_Ip - Fatal编程技术网

Java 范围内的IP地址

Java 范围内的IP地址,java,arrays,arraylist,ip,Java,Arrays,Arraylist,Ip,有人能帮忙解决这个问题吗。我想使用命令行检查特定范围内的IP地址 例如,我在cmd“java 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.*; 导入java.net。*; 公共类IPAddressCheck { 公共静态void main(字符串[]args)

有人能帮忙解决这个问题吗。我想使用命令行检查特定范围内的IP地址

例如,我在cmd“java 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.*;
导入java.net。*;
公共类IPAddressCheck
{
公共静态void main(字符串[]args)引发异常
{
字符串startIp=args[0];
整数=0;
如果(args.length!=1)
{
尝试
{
number=Integer.parseInt(args[1]);
}
捕获(IllegalArgumentException e)
{
System.out.println(“错误”);
系统出口(0);
}
ArrayList ipRange=新的ArrayList();
字符串currentIp=startIp;
for(int i=0;i=0;i--)
{
final int item=Integer.parseInt(标记[i]);
如果(项目<255)
{
令牌[i]=String.valueOf(项+1);
对于(int j=i+1;j<4;j++)
{
令牌[j]=“0”;
}
打破
}
}
返回新的StringBuilder()
.append(标记[0]).append('.'))
.append(标记[1]).append('.'))
.append(标记[2]).append('.'))
.append(令牌[3])
.toString();
}
}

这很简单。您的对账单顺序过早更改了IP。将循环的
编辑为如下所示:

        System.out.println(currentIp);
        ipRange.add(currentIp);
        for(int i = 1; i < number; i++) 
        {
            currentIp = nextIpAddress(currentIp);
            ipRange.add(currentIp);
            System.out.println(currentIp);
        }   
System.out.println(当前IP);
ipRange.add(当前IP);
对于(int i=1;i

在开始时,您的
currentIp
是您希望显示的起始IP。您可以将其输出并在第二个地址启动循环。

这很简单。您的对账单顺序过早更改了IP。将循环的
编辑为如下所示:

        System.out.println(currentIp);
        ipRange.add(currentIp);
        for(int i = 1; i < number; i++) 
        {
            currentIp = nextIpAddress(currentIp);
            ipRange.add(currentIp);
            System.out.println(currentIp);
        }   
System.out.println(当前IP);
ipRange.add(当前IP);
对于(int i=1;i

在开始时,您的
currentIp
是您希望显示的起始IP。您可以将其输出并在第二个地址启动循环。

这很简单。您的对账单顺序过早更改了IP。将循环的
编辑为如下所示:

        System.out.println(currentIp);
        ipRange.add(currentIp);
        for(int i = 1; i < number; i++) 
        {
            currentIp = nextIpAddress(currentIp);
            ipRange.add(currentIp);
            System.out.println(currentIp);
        }   
System.out.println(当前IP);
ipRange.add(当前IP);
对于(int i=1;i

在开始时,您的
currentIp
是您希望显示的起始IP。您可以将其输出并在第二个地址启动循环。

这很简单。您的对账单顺序过早更改了IP。将循环的
编辑为如下所示:

        System.out.println(currentIp);
        ipRange.add(currentIp);
        for(int i = 1; i < number; i++) 
        {
            currentIp = nextIpAddress(currentIp);
            ipRange.add(currentIp);
            System.out.println(currentIp);
        }   
System.out.println(当前IP);
ipRange.add(当前IP);
对于(int i=1;i

在开始时,您的
currentIp
是您希望显示的起始IP。您可以将其输出并在第二个地址开始循环。

您必须首先使用第一个ip地址初始化范围,然后使迭代次数等于地址数-1,因为您的列表中已经有一个地址:

ipRange.add(currentIp);
for(int i = 0; i < number-1; i++) 
{
    currentIp = nextIpAddress(currentIp);
    ipRange.add(currentIp);
}
ipRange.add(当前IP);
对于(int i=0;i

很高兴看到,您发现我的方法很有用)

您必须首先使用第一个ip地址初始化范围,然后使迭代次数等于地址数-1,因为您的列表中已经有一个地址:

ipRange.add(currentIp);
for(int i = 0; i < number-1; i++) 
{
    currentIp = nextIpAddress(currentIp);
    ipRange.add(currentIp);
}
ipRange.add(当前IP);
对于(int i=0;i

很高兴看到,您发现我的方法很有用)

您必须首先使用第一个ip地址初始化范围,然后使迭代次数等于地址数-1,因为您的列表中已经有一个地址:

ipRange.add(currentIp);
for(int i = 0; i < number-1; i++) 
{
    currentIp = nextIpAddress(currentIp);
    ipRange.add(currentIp);
}
ipRange.add(当前IP);
对于(int i=0;i

很高兴看到,您发现我的方法很有用)

您必须首先使用第一个ip地址初始化范围,然后使迭代次数等于地址数-1,因为您的列表中已经有一个地址:

ipRange.add(currentIp);
for(int i = 0; i < number-1; i++) 
{
    currentIp = nextIpAddress(currentIp);
    ipRange.add(currentIp);
}
ipRange.add(当前IP);
对于(int i=0;i