السلام عليكم
ارغب بعمل بحث عن قيمة او اكثر بنطاق معين داخل ملف ولكنني وجهاتني مشاكل
مثال اريد ان ابحث عن القيم التالية داخل ملف معين : (1-60)و(10-50)و(4-70) مهذا مجرد مثال
بحال وجد القيم يطبع لي (true ) او موجود حاولت العمل كما يلي
حيث عرفت القيم كتالي :
private static int year; private static int month; private static int number_month; private static int day; private static int second; private static int hore; private static int mint; private static int time;
ومن ثم قمت بعمل كونستركتر وقمت بعمل قيم افتراضية
ومن ثم القيم قمت بادخالها بمصفوفات
ومن ثم يقوم بالبحث في القيم اذا كانت قيمة المتغير الذي عرفته بالكلاس الرئيسية (1)
وهذا الكود الذي استدخدمته
int counter_Strart_year=0;
int counter_Strart_month=0;
int counter_Strart_nmonth=0;
int counter_Strart_day=0;
int counter_Strart_hour=0;
int counter_Strart_min=0;
int counter_Strart_sec=0;
int counter_End_year=0;
int counter_End_month=0;
int counter_End_nmonth=0;
int counter_End_day=0;
int counter_End_hour=0;
int counter_End_min=0;
int counter_End_sec=0;
int counter_End=0;
int linenNumber=-1;
String temp_year= null;
String temp_month = null;
String temp_nmonth= null;
String temp_day= null;
String temp_hour= null;
String temp_min= null;
String temp_sec=null;
try(BufferedReader br = new BufferedReader(new FileReader(file_Modifi))) { for(String line; (line = br.readLine()) != null; ) { linenNumber++; String times[] = line.split(" "); String clock[]=times[3].split(":"); if(year==1){ temp_year=times[5]; System.out.println(temp_year); for (String Y1 : Y) { System.out.println(Y1); System.out.println(temp_year.toUpperCase().contains(Y1.toUpperCase())+"\t"+Y1.toUpperCase()+"\t"+temp_year.toUpperCase()); if(temp_year.toUpperCase().contains(Y1.toUpperCase())){ counter_Strart_year++; counter_End_year++; }else{counter_Strart_year++;} } } if(month==1){ temp_month=times[1]; for (String M1 : M) { if(temp_month.toUpperCase().contains(M1.toUpperCase())){ counter_Strart_month++; counter_End_month++; }else{ counter_Strart_month++;}} } if(number_month==1){ temp_nmonth=times[2]; for (String NM1 : NM) { if(temp_nmonth.toUpperCase().contains(NM1.toUpperCase())){ counter_Strart_nmonth++; counter_End_nmonth++; }else{counter_Strart_nmonth++;}} } if(day==1){ temp_day=times[0]; for (String D1 : D) { if(temp_day.toUpperCase().contains(D1.toUpperCase())){ counter_Strart_day++; counter_End_day++; }else{counter_Strart_day++;}} } if(time==1){ if(second==1){ temp_sec=clock[2]; for (String TS1 : TS) { if(temp_sec.toUpperCase().contains(TS1.toUpperCase())){ counter_Strart_sec++; counter_End_sec++; }else{counter_Strart_sec++;}} } if(mint==1){ temp_min=clock[1]; for (String TM1 : TM) { if(temp_min.toUpperCase().contains(TM1.toUpperCase())){ counter_Strart_min++; counter_End_min++;}else{counter_Strart_min++;}} } if(hore==1){ temp_hour=clock[0]; for (String TH1 : TH) { if(temp_hour.toUpperCase().contains(TH1.toUpperCase())){ counter_Strart_hour++; counter_End_hour++; }else{counter_Strart_hour++;}}} } System.out.println(counter_Strart_year+counter_Strart_month+counter_Strart_nmonth+counter_Strart_day+counter_Strart_hour+counter_Strart_min+counter_Strart_sec+"\t"+(counter_End_year+counter_End_day+counter_End_month+counter_End_nmonth+counter_End_day+counter_End_hour+counter_End_min+counter_End_sec)); if(counter_Strart_year+counter_Strart_month+counter_Strart_nmonth+counter_Strart_day+counter_Strart_hour+counter_Strart_min+counter_Strart_sec==counter_End_year+counter_End_day+counter_End_month+counter_End_nmonth+counter_End_day+counter_End_hour+counter_End_min+counter_End_sec){ System.out.println("yse"); } counter_Strart_year=0; counter_Strart_month=0; counter_Strart_nmonth=0; counter_Strart_day=0; counter_Strart_hour=0; counter_Strart_min=0; counter_Strart_sec=0; counter_End_year=0; counter_End_month=0; counter_End_nmonth=0; counter_End_day=0; counter_End_hour=0; counter_End_min=0; counter_End_sec=0; temp_year= null; temp_month = null; temp_nmonth= null; temp_day= null; temp_hour= null; temp_min= null; temp_sec=null; } }ملاحظة : file_Modifi (هي اسم الملف الذي سوف يتم البحث به وصيغة البينات كتالي به):
Fri Jun 20 22:53:51 IDT 2014 Fri Jun 20 22:54:34 IDT 2014 Fri Jun 20 22:54:36 IDT 2014 Fri Jun 20 22:54:39 IDT 2014 Fri Jun 20 22:54:38 IDT 2014 Fri Jun 20 22:54:39 IDT 2014 Fri Jun 20 22:54:43 IDT 2014 Fri Jun 20 22:54:47 IDT 2014 Fri Jun 20 22:54:45 IDT 2014 Fri Jun 20 22:54:50 IDT 2014 Fri Jun 20 22:54:48 IDT 2014 Fri Jun 20 22:54:53 IDT 2014 Fri Jun 20 22:54:51 IDT 2014 Fri Jun 20 22:54:52 IDT 2014 Fri Jun 20 22:54:53 IDT 2014 Fri Jun 20 22:54:54 IDT 2014 Fri Jun 20 22:54:54 IDT 2014 Fri Jun 20 23:05:58 IDT 2014 Fri Jun 20 23:05:59 IDT 2014 Fri Jun 20 23:05:59 IDT 2014 Fri Jun 20 23:06:00 IDT 2014 Fri Jun 20 23:06:00 IDT 2014 Fri Jun 20 23:06:00 IDT 2014 Fri Jun 20 23:06:01 IDT 2014 Fri Jun 20 23:06:01 IDT 2014 Fri Jun 20 23:06:01 IDT 2014 Fri Jun 20 22:54:55 IDT 2014 Fri Jun 20 22:54:58 IDT 2014 Fri Jun 20 22:54:56 IDT 2014 Fri Jun 20 22:54:58 IDT 2014 Fri Jun 20 22:54:59 IDT 2014
المصفوفات قمت بتعريفها كتالي (مثال) :
ArrayList<String> Y = new ArrayList<>();
ArrayList<String> M = new ArrayList<>();
ArrayList<String> NM = new ArrayList<>();
ArrayList<String> D = new ArrayList<>();
ArrayList<String> TH = new ArrayList<>();
ArrayList<String> TM = new ArrayList<>();
ArrayList<String> TS = new ArrayList<>();
Y.add("2014");Y.add("2013");Y.add("2012");Y.add("2011");
M.add("jun");
NM.add("22");NM.add("23");
D.add("fri");
TH.add("15");TH.add("14");TH.add("10");
TM.add("15");TM.add("14");TM.add("10");
TS.add("15");TS.add("14");TS.add("10");اتمنى ان اجد لديكم الحل لهذه المشكلة حيث انها ضمن مشروع التخرج الخاص بي وشكرا جزيلا مقدما واتمنى ان اكون اضحت الفكرة بشكل واضح