我是编程的初学者。我需要一个程序,每秒生成1到100之间的随机数。这是我用简单的AHK脚本编写的代码。
Loop
{
Random, rand_num, 1, 100
ToolTip, Random number:`n%rand_num%`n`nPress ESC to close
Sleep, 1000
}
ESC::ExitApp
结果没问题。但我认为他们是解决这一任务的更好选择。该计划并不顺利。所以当我移动鼠标时,带有数字的字段是滞后的。或滞后可能是错误的词。它没有用鼠标实时移动。第二个想法是=>按转义关闭文字。是他们删除这个的简单方法吗?这样有数字的字段会变小一点? 我有一些java和python的经验,也许用这些语言创建程序更容易。但我是初学者。希望有人可以用我的AHK脚本或提示帮助我如何用另一种语言解决任务。感谢每个帮助评论
答案 0 :(得分:2)
SetBatchLines, -1
lastNumTick := A_TickCount
Random, randNum, 1, 100
SetTimer, UpdateRandomNumber, 1
UpdateRandomNumber:
If (A_TickCount > lastNumTick+1000) {
Random, randNum, 1, 100
lastNumTick := A_TickCount
}
ToolTip, %randNum%
Return
ESC::ExitApp
或许您更喜欢这样:
SetTimer, UpdateRandomNumber, 1000
UpdateRandomNumber:
Random, randNum, 1, 100
TrayTip,, %randNum%
Return
ESC::ExitApp
答案 1 :(得分:0)
Java 7解决方案:
import java.util.Random;
import java.util.concurrent.TimeUnit;
public class MyRandom {
public static void main(String[] args) {
Random random = new Random(System.currentTimeMillis());
int iRandomValue;
while (true) {
// random.nextInt(99) generates number between 0 and 99;
iRandomValue = 1 + random.nextInt(99);
System.out.println("Random number: " + iRandomValue);
try {
Thread.sleep(TimeUnit.SECONDS.toMillis(1));
} catch (InterruptedException exIgnoreInterrupted) {
}
}
}
}