我需要生成一个随机的三位数,其中第一位数字和第三位数字相差不止一个。我如何尽可能简单地完成这个没有数组?我还是一个初学者。非常感谢。
int num = 0;
int firstDigit = 0;
int lastDigit = 0;
// complete the method
//while loop
while(firstDigit-lastDigit<1)
{
num = (int)(Math.random() * (999-100) + 100);
String number = String.valueOf(num);
String n1 = number.substring(0,1);
String n2 = number.substring(2,3);
int a = Integer.parseInt(n1);
int b = Integer.parseInt(n2);
firstDigit = a;
lastDigit = b;
int randNum = Math.abs(a-b);
System.out.println(a);
System.out.println(b);
}
我一开始尝试了这个,但很快意识到 while 循环始终处于活动状态,因为它从方法中先前定义的初始值中获取初始值。
Random random = new Random();
int first = random.nextInt(1, 10);
int last = random.nextInt(1, 10);
if (last == first) {
last = 0;
}
int middle = random.nextInt(0, 10);
System.out.println(first * 100 + middle * 10 + last);
我认为这个变体对于初学者来说是最简单的。它不使用数组、流和循环