月齢(数値)表示をするAndroidアプリ
Pythonのlambdaを使う - Throw or Die and ChouChou
↑以前のPython版
package jp.throwordie.moonphase; import java.util.Date; import java.util.GregorianCalendar; import jp.throwordie.moonphase.R; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView textView = (TextView)findViewById(R.id.TextView01); Date date = new GregorianCalendar().getTime(); int year = date.getYear() + 1900; int month = date.getMonth() + 1; int day = date.getDate(); double phase = moonPhase(year, month, day); textView.setText("DATE: " + year + "/" + month + "/" + day + "\nPHASE: " + phase + "days"); } private double moonPhase(int y, int m, int d){ int mp[] = {0,2,0,2,2,4,5,6,7,8,9,10}; return (((y - 11) % 19) * 11 + mp[m - 1] + d) % 30; } }