我必须做一个倒计时程序,也显示十分之一秒; 例如,从10.0秒倒计时,它应显示9.9秒,9.8秒,... 0.0秒
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
timer.start();
timer2.start();
}
Double timeLeft=5000; //5 seconds
Timer timer=new Timer(1,countDown);
Timer timer2=new Timer(1000,countDown2);
ActionListener countDown=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
timeLeft--;
SimpleDateFormat df=new SimpleDateFormat("mm:ss:S");
jLabel1.setText(df.format(timeLeft));
if(timeLeft<=0)
{
timer.stop();
}
}
};
Run Code Online (Sandbox Code Playgroud)
结果是,完成5秒需要5秒多的时间.
我将上面的代码与另一个Timer进行了比较
int timeLeft2=5;
ActionListener countDown2=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
timeLeft2--;
jLabel2.setText(String.valueOf(timeLeft2));
if(timeLeft2<=0)
{
time2.stop();
}
}
};
Run Code Online (Sandbox Code Playgroud)
他们不能得到相同的自然吗?
我正在做以下事情:
function countUp(c){
c.value = c.value + 1;
$('#number').text(c.value);
}
var counter = {value: 0};
window.setTimeout(countUp(counter), 100);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我的计数器的值似乎总是保持1.我尝试使用对象而不是变量,因为我理解对象是通过引用传递的,而不是值,我希望我可以通过我的countUp函数更改此值.
它显然不起作用,出了什么问题?
这是一个Codepen
我想在一定时间内显示一个人的收入.为此我要求在另一项活动中每月收入(= gehalt)和每周工作时间(stunden).然后在第二个活动中,我希望每秒以每秒收入增加TextView showGehaltproSekunde(id = textViewZahl).我是初学者,所以我不知道我在public void run()中写的具体内容.或者是否有另一种可能每秒增加数量?我希望有一个人可以帮助我.谢谢!
public class SecondScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondlayout);
Timer t, timer;
Intent getGehalt = getIntent();
float gehalt = getGehalt.getFloatExtra("Gehalt", 0);
Intent getStunden = getIntent();
float stunden = getStunden.getFloatExtra("Stunden", 0);
double gehaltProSekunde = gehalt/4/stunden/3600;
double gehaltProSekundeRounded = Math.round(gehaltProSekunde*1000)/1000.0;
TextView showGehaltProSekunde = (TextView)findViewById(R.id.textViewZahl);
showGehaltProSekunde.setText(gehaltProSekundeRounded+" €");
t = new Timer();
t.scheduleAtFixedRate( new TimerTask() {
@Override
public void run() {
}
});
}
Run Code Online (Sandbox Code Playgroud)
}
我写ac#program倒计时5秒.我所做的是:
new Task(() =>
{
try
{
this.Invoke((Action)delegate()
{
label1.Text = "5"; // 4, 3, 2..etc
});
}
Thread.Sleep(1000);
}
catch
{
// form could be disposed
break;
}
}
}).Start();
Run Code Online (Sandbox Code Playgroud)
这可以在我的电脑上运行,但是,当我将程序复制到平板电脑时,Thread.Sleep(1000)给出的时间超过1秒.换句话说,从5,4,3,2,1更新标签需要5秒以上(实际上超过10秒).或者,更新label1.Text ="5"等需要很长时间?这对我来说没有意义.我想知道出了什么问题?
是否可以在Julia中调用嵌套的tic()和toc()?问题是我无法将我选择的计时器名称发送到toc()函数.
在Matlab中有这样的东西(我引用Matlab的帮助)
`
REPS = 1000; minTime = Inf; nsum = 10;
tic; % TIC, pair 1
for i=1:REPS
tStart = tic; % TIC, pair 2
total = 0;
for j=1:nsum
total = total + besselj(j,REPS);
end
tElapsed = toc(tStart); % TOC, pair 2
minTime = min(tElapsed, minTime);
end
averageTime = toc/REPS; % TOC, pair 1 `
Run Code Online (Sandbox Code Playgroud) 我试图在特定的时间内重复进行一些计算(time变量并由用户提供).
我尝试在visual studio中使用Windows窗体应用程序工具箱中提供的计时器,但似乎存在问题.当我启动计时器并将变量time与while循环关联时,程序会卡住; 的time变量被递减计时器的各记号事件,我需要只要时间大于0运行while循环.
private void timer1_Tick(object sender, EventArgs e)
{
if (time == 0)
timer1.Stop();
else
{
time--;
textBoxTime.Text = time.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
这是阻止程序的while循环
while (time>0)
{
computations();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过以下方式在我的应用程序中显示倒计时:
private TimeSpan ts = new TimeSpan()
ts = ts.Subtract(TimeSpan.FromSeconds(1));
label4.Text = ts.ToString(@"hh\:mm\:ss");
Run Code Online (Sandbox Code Playgroud)
但是,它不显示倒计时,但实际上会增加时间。如果我移除@"hh\:mm\:ss"零件,那么我会在数秒内倒数,但不是真正的倒数。它所-1, -2, -3,要做的就是在秒之前添加一个减号,所以它确实如此...我希望它在10 to 0 so -9, -8, -7,等时说出来...
如何才能以的形式进行真正的倒计时hh:mm:ss?
我是ReactiveCocoa的新手,有一个问题我还没找到解决办法.我的应用程序中有一个网络请求,它返回要编码的数据,QR码只有30秒有效.网络请求返回a RACSignal并且我将要在该信号中编码的数据发送到我的视图模型.在视图模型中,我将该数据映射到QR图像,并将其作为视图模型界面中的属性公开.在我创建QR图像后,我想更新一个timeLeftString显示"此代码仅在30秒内有效"的属性,但秒数将随着时间的推移而变化,在完成30秒后,我想再次请求获取另一个有效30秒的QR码数据,之后完成另一个请求,获取数据将有效30秒......直到屏幕被解除.我该如何实现呢?
目前我有这个来获取数据:
- (RACSignal *)newPaymentSignal
{
@weakify(self);
return [[[[APIManager sharedManager] newPayment] map:^id(NSString *paymentToken) {
ZXMultiFormatWriter *writer = [ZXMultiFormatWriter writer];
ZXBitMatrix *result =
[writer encode:paymentToken format:kBarcodeFormatQRCode width:250 height:250 error:nil];
if (!result) {
return nil;
}
CGImageRef cgImage = [[ZXImage imageWithMatrix:result] cgimage];
UIImage *image = [UIImage imageWithCGImage:cgImage];
return UIImagePNGRepresentation(image);
}] doNext:^(NSData *data) {
@strongify(self);
self.qrImageData = data;
}];
}
Run Code Online (Sandbox Code Playgroud)
这对于计时器
- (RACSignal *)timeRemainingSignal
{
@weakify(self);
return [[[RACSignal interval:0.5 onScheduler:[RACScheduler scheduler]] //
startWith:[NSDate date]] //
initially:^{
@strongify(self);
self.expiryDate = …Run Code Online (Sandbox Code Playgroud) 我需要创建一个将整数放入数组的系统.但我有一个问题.当我点击div它工作,但当我再次点击时,计时器的速度提高了两倍.我该如何防止这个问题?
码:
// JavaScript Document
// DIT STUK ZORGT VOORT HET CLICK EVENT BIJ FUNCTION INIT
function addListener(element, type, expression, bubbling) {
if(window.addEventListener) { // Voor alle !IE browsers
element.addEventListener(type, expression, bubbling);
return true;
} else if(window.attachEvent) { // Voor oude IE versies
element.attachEvent('on' + type, expression);
return true;
} else {
return false; }
}
var mijnArray = [];
var Timer;
// Bij het laden van de pagina
function init ()
{
addListener (document.getElementById("resultaat"), 'click', startTimer, false);
}
// …Run Code Online (Sandbox Code Playgroud) 所以,基本上我正在尝试创建一个简单的JS计时器,它将在00:30开始,一直到00:00,然后消失.
我已经有了HTML代码:
<div id="safeTimer">
<h2>Safe Timer</h2>
<p id="safeTimerDisplay">00:30</p>
</div>
Run Code Online (Sandbox Code Playgroud)
显示计时器的元素显然是段落.现在我知道如果我用硬编码的方式做这个会很容易:我只会创建一个能改变段落的innerHTML的函数("00:30","00:29","00:28") "等,然后使用setInterval()每秒调用它
我怎么做简单(非硬编码)的方式?