Java 我不知道是什么';我的代码有问题,但我的程序一直崩溃
没有语法错误,从逻辑上讲,我觉得一切都很好。我已经试着调试这段代码好几天了,我不明白为什么它会崩溃。我的代码中有一个if/else部分,它完成了大部分工作,这是唯一一个它不断崩溃的部分,其他部分工作正常Java 我不知道是什么';我的代码有问题,但我的程序一直崩溃,java,android,Java,Android,没有语法错误,从逻辑上讲,我觉得一切都很好。我已经试着调试这段代码好几天了,我不明白为什么它会崩溃。我的代码中有一个if/else部分,它完成了大部分工作,这是唯一一个它不断崩溃的部分,其他部分工作正常 public void Convert(View v) { String jdate = editText1.getText().toString(); String sdate = editText2.getText().toString();
public void Convert(View v)
{
String jdate = editText1.getText().toString();
String sdate = editText2.getText().toString();
Calendar date = Calendar.getInstance();
//converts julian date to calendar date
if (!jdate.isEmpty() && sdate.isEmpty())
{
jdate = String.format("%04d", jdate);
int intyear = Integer.parseInt(Character.toString(jdate.charAt(0)));
int intdayofyear = Integer.parseInt(jdate.substring(1));
if (intdayofyear > 365) intdayofyear = 365;
editText1.setText(intyear + intdayofyear);
String year = Integer.toString(date.get(Calendar.YEAR));
year = year.substring(0, 3) + Character.toString(jdate.charAt(0));
intyear = Integer.parseInt(year);
date.set(Calendar.YEAR, intyear);
date.set(Calendar.DAY_OF_YEAR, intdayofyear);
editText2.setText(Calendar.MONTH + "/" + Calendar.DAY_OF_MONTH + "/" + Calendar.YEAR);
datePicker1.init(
date.get(Calendar.YEAR),
date.get(Calendar.MONTH),
date.get(Calendar.DAY_OF_MONTH), new OnDateChangedListener(){
@Override
public void onDateChanged(DatePicker view,
int year, int monthOfYear,int dayOfMonth) {
editText2.setText(monthOfYear+1 + "/" + dayOfMonth + "/" + year);
}});
}
这应该做的是将一个4位数的数字转换成日历日期,并显示在日期选择器和文本字段上。不清楚实际问题是什么,但这里有一个问题:
String.format
需要一个整数参数来返回字符串
,否则将抛出IllegalFormatConversionException
jdate = String.format("%04d", jdate);
^
SimpleDataFormat
可用于格式化日期哪一行导致崩溃?你有stacktrace吗?你能把日志贴出来吗?