我想创建一个创建假ip地址的系统(仅仅是为了好玩),但是我无法使它工作,因为当我在控制台中输出数字时它不会刷新数字。它不断重复相同的" ip"
import java.util.Random;
public class Main {
public static void main(String[] args) {
System.out.println("Random IP's");
Random rand = new Random();
int randomIp1 = rand.nextInt(999) + 10;
int randomIp2 = rand.nextInt(999) + 10;
int randomIp3 = rand.nextInt(999) + 10;
int randomIp4 = rand.nextInt(999) + 10;
boolean start = true;
while (start == true) {
System.out.println(randomIp1 + "." + randomIp2 + "." + randomIp3 + "." + randomIp4);
}
}
}
请记住。我刚刚开始学习java所以它可以是一个很小的变化!
答案 0 :(得分:2)
您生成值一次,然后以无限循环打印出来。
如果你想在循环中重新生成数字,那么在循环中生成它们:
while (true) {
int randomIp1 = rand.nextInt(999) + 10;
int randomIp2 = rand.nextInt(999) + 10;
int randomIp3 = rand.nextInt(999) + 10;
int randomIp4 = rand.nextInt(999) + 10;
System.out.println(randomIp1 + "." + randomIp2 + "." + randomIp3 + "." + randomIp4);
}
答案 1 :(得分:1)
你的循环一遍又一遍地重复相同的值。你永远不会改变字段的当前状态,这就是你总能看到相同数字的原因。
while (start == true) {
System.out.println(randomIp1 + "." + randomIp2 + "." + randomIp3 + "." + randomIp4);
}
为了解决此问题,您必须重新分配 in 循环中的字段,或者只是这样:
while(true){
System.out.println(rand.nextInt(999) + "." + rand.nextInt(999) + "." + rand.nextInt(999) + "." + rand.nextInt(999));
}
答案 2 :(得分:-1)
请尝试使用此功能。它会在0到0 + 255之间创建一个随机数。
255 beacuse是IP的最大值而不是999。
您需要将其放在括号中。
int randomNumber=(int) (Math.random()*255+0);
使用循环创建任意多个。