2017-06-14 210 views
-6

我是低级别的Java用户,现在我正在尝试学习Lua ......并且我真的不明白,写出来的东西让我更加困惑。如果有人能够将这篇短篇文章从Java转换为Lua,那么我将能够比较它们并找出与之相当的内容。我会非常感激。那么请帮忙,好吗?将Java转换为Lua

public String IllumByDay(double cycle) { 
     DecimalFormat myFormatter = new DecimalFormat("###.##"); 

     for (double dayCounter = 0; dayCounter <= cycle - 1; dayCounter++) { 
      double illum = 0.5 * (1 + Math.sin(2 * Math.PI * (dayCounter/cycle - 0.25))); 
      String roundedIllum = myFormatter.format(illum * 100); 
      System.out.println("Day " + (int) (dayCounter + 1) + ": " + roundedIllum + "%"); 
     } 
    } 
+4

欢迎堆栈溢出。这不是一个代码翻译服务。 Lua语法非常简单。你太懒了,希望有人会提供给你解决方案...请阅读[问] – Piglet

+2

我投票结束这个问题,因为代码翻译请求是题外话 – Piglet

+0

哪个部分让你感到困惑?不可能是全部,因为如果一个普通的'for'循环令人困惑,那么在尝试这样的事情之前,你有很多东西要学习。另外,希望'+',''''''和'/'等操作符也不会让人困惑。 – Andreas

回答

1

让我们来帮忙,呃?

你可以像这样的东西开始:

function IllumByDay(cycle) 
    for dayCounter = 0, cycle-1 do 
     local illum = 0.5 * (1.0 + math.sin(2.0*math.pi*(dayCounter/cycle - 0.25))) 
     local roundedIllum = string.format('%.2f', illum * 100.0) 
     print(string.format("Day %d: %s%", dayCounter+1, roundedIllum)) 
    end 
end