私はいくつかの列車のスケジュールアプリケーションをやっています。対応するスケジュールの列車とタイミングを保存しました。特定の列車名を選択している場合は、対応する列車の時刻を表示する必要があります。ここで、データベースの時間を現在の時間と比較する必要があります。私の現在の時間の 1 時間後は、それを別の配列に保存する必要があることを意味し、2 時間後はそれを別の配列に保存する必要があることを意味します。そして私のコードはここにあります。
ArrayList<String> str_arr1 = new ArrayList<String>();
ArrayList<String> str_arr2 = new ArrayList<String>();
ArrayList<Integer> hr_arr_1 = new ArrayList<Integer>();
ArrayList<Integer> mint_arr_1 = new ArrayList<Integer>();
ArrayList<Integer> hr_arr_2 = new ArrayList<Integer>();
ArrayList<Integer> mint_arr_2 = new ArrayList<Integer>();
String str,str1;
final ArrayList<HashMap<String, String>> new_item = new ArrayList<HashMap<String, String>>();
int[] str_int = new int[3];
int[] str_int1 = new int[3];
@SuppressLint("NewApi")
public class SheduleActivityMain extends Activity
{
int count=0;
public void onCreate(Bundle savedInstanceState)
{
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
Calendar now = Calendar.getInstance();
Calendar now1 = Calendar.getInstance();
Calendar now2 = Calendar.getInstance();
System.out.println("Current time : " + dateFormat.format(now.getTime()));
String time_now = dateFormat.format(now.getTime());
System.out.println("time_now----->"+time_now);
now1.add(Calendar.HOUR,1);
System.out.println("New time after adding 1 hours : "
+ dateFormat.format(now1.getTime()));
now2.add(Calendar.HOUR,2);
System.out.println("New time after adding 2 hours : "
+ dateFormat.format(now2.getTime()));
System.out.println("Is now1 after now ? : " + now1.after(now));
StringTokenizer st1 = new StringTokenizer(time_now, ":");
while (st1.hasMoreElements())
{
//System.out.println(st1.nextElement());
str = (String) st1.nextElement();
str_arr1.add(str);
}
str_int[0] = Integer.parseInt(str_arr1.get(0));
str_int[1] = Integer.parseInt(str_arr1.get(1));
str_int[2] = Integer.parseInt(str_arr1.get(2));
for(int j=0;j<str_int.length;j++)
{
System.out.println("integer array is... "+j+"..."+str_int[j]);
}
for(int time=0;time<train_time.length;time++)
{
StringTokenizer st2 = new StringTokenizer(train_time[time], ":");
while (st2.hasMoreElements())
{
str1 = (String) st2.nextElement();
str_arr2.add(str1);
System.out.println("str1..."+str1);
}
System.out.println("str_arr2.........."+str_arr2);
System.out.println("method calling..........");
getTrainTime(str_arr2.get(count),str_arr2.get(count+1));
for(int chk=count;chk<=str_arr2.size()-3;chk++)
{
getTrainTime(str_arr2.get(count),str_arr2.get(count+1));
}
}
void getTrainTime(String s1,String s2)
{
System.out.println("count--->"+count);
int n1 = Integer.parseInt(s1);
int n2 = Integer.parseInt(s2);
System.out.println("n1.n2 "+n1+n2);
count = count+3;
System.out.println(str_int[0]+str_int[1]);
if(n1==str_int[0]+1)
{
System.out.println("inside if condition.....");
hr_arr_1.add(n1);
//mint_arr_1.add(n2);
System.out.println("hr_arr_1,mint_arr_1"+hr_arr_1+mint_arr_1);
}
else if(n1==str_int[0]+2 )
{
}
//System.out.println("hr_arr_1,mint_arr_1"+hr_arr_1+mint_arr_1);
}
}
私はこのようないくつかのエラーが発生しました..
java.lang.IndexOutOfBoundsException: 無効なインデックス 12、サイズは 12
2回比較するにはどうすればよいですか?このエラーを解決するにはどうすればよいですか? 誰でも私を助けることができますか?