我试图使用扫描仪将IP地址(String)拆分为4个整数。我使用了分隔符并将模式设置为"。"
next()文档:
查找并返回此扫描仪的下一个完整令牌。在完成令牌之前和之后是与分隔符模式匹配的输入。即使之前的hasNext()调用返回true,此方法也可能在等待输入扫描时阻塞。
我最初尝试使用IP字符串,但最后没有句点,但我现在尝试在字符串的每一端添加句点。扫描仪next()仍然不扫描我的数字(或任何东西)。
public void setIP(String ip){
IPstring = "."+ip+".";
Scanner sc = new Scanner(IPstring);
sc.useDelimiter(".");
System.out.println(IPstring);
System.out.println(sc.next());
System.out.println(sc.next());
System.out.println(sc.next());
sc.close();
}
输出:
.216.198.240.0.
注意:.216.198.240.0下有3个空行。
我打算用以下代码替换printlns:
IP1 = Integer.parseInt(sc.next());
IP2 = Integer.parseInt(sc.next());
IP3 = Integer.parseInt(sc.next());
IP4 = Integer.parseInt(sc.next());
IP1-4是表示IP地址的4个部分的整数。