嗨,我正在开发一个Android应用程序...其中有一个日期选择器来选择出生日期,在该日期中,当用户输入出生日期时,必须从年份中减去月份,并且必须再次添加值直到达到一位数...我做了一些代码,请检查它是否正确...当我检查它没有解决..如果有人知道请帮助...
sum5=getSum4(tv3.getText().toString());
i.putExtra("name4", sum5 + "");
date.init(date.getYear(), date.getMonth(), date.getDayOfMonth(),new OnDateChangedListener()
{
@Override
public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3)
{
// TODO Auto-generated method stub
String date=Integer.toString(arg3);
String month=Integer.toString(arg2);
String year=Integer.toString(arg1);
tv3.setText(year + month+1);
}
});}
}
public long getSum4(String text)
{
// TODO Auto-generated method stub
long sum5 = 0;
char[] name4 = new char[text.length()];
name4 = text.toCharArray();
for(int i=0; i<text.length(); i++)
{
sum5 -= value4( name4[i] );
}
while (sum5>9)
{
sum5 = findDigitSum(sum5);
}
return sum5;
}
public long findDigitSum4(long n)
{
int sum5 = 0;
while (n != 0)
{
sum5 += n % 10;
n = n / 10;
}
return sum5;
}
private int value4(char a) {
// TODO Auto-generated method stub
switch(a) {
case '1':
return 1;
case '2':
return 2;
case '3':
return 3;
case '4':
return 4;
case '5':
return 5;
case '6':
return 6;
case '7':
return 7;
case '8':
return 8;
case '9':
return 9;
default:
return 1;
}
}
}
最佳答案
您可以使用三个edittext,然后分别取年和月的值。然后从年份值中减去它。然后使用您的代码将其变成一位数