月齢(数値)表示をする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;
    }
}