باسلام
استاد من دقیق پروژه phone book رو دارم می نویسم وقتی می خوام متغیر var را در کلاس Main تعریف کنم این متغیر قرمز میشه و خطا میگیره ولی تو خطای گرفته شده دلیل خاصی نمیگه
حتی محتویات این کلاس را با کلاس Main ی که شما share کردید هم جابه جا کردم بازهم خطا میده میشه راهنمایی بفرمایید
با سلام خدمت شما
برای استفاده از var باید ورژن آخر jdk رو داشته باشید
اگر بخوام با همین نسخه کار کنم راخه حل چی هستش؟
باید به جای اون var از نوع خودش استفاده کنید . Var خودش تشخیص میداد که چی قراره داخلش ریخته بشه ولی شما که نمیتونید همون نوع داده ای رو که میخواید قرار بدید
پس چی کار کنم؟ چون با نصب JDK11 هم موقع انتخاب فولدرIntellij خطای The selected directory is not a valid home for JDK رو نمایش میده و نمی تونم ازش استفاده کنم با اینکه بدرستی نصب شده
کدتون رو قرار بدید تا بهتر توضیح بدم
import model.DataBase; import model.PersonRepository; public class Main { var db = new DataBase(); public static void main(String[] args) {
یه سوال شما علت خطای The selected directory is not a valid home for JDK رو می دونید؟
بعد از نصب JDK11 با اینکه در cmd جاوا 11 را بدرستی می شناسد ولی هنگام تعیین JDK در Intellij با خطای فوق مواجه میشوم
ببینید در اینجا db از نوع DataBase هست پس var الان نقش Database رو داره بنابراین شما میتونید به جای var از DataBase استفاده کنید.
DataBase db = new DataBase();
در مورد خطا هم متاسفانه من تا الان به این مشکل برنخوردم ولی تحقیق میکنم اگه پاسخی پیدا شد حتما برای شما ارسال میکنم
بله دقیقا همین کارو انجام دادم ولی برای list نمی دونم چی باید قرار بدم
public class Main { public static void main(String[] args) { DataBase db=new DataBase(); db.Open(); PersonRepository personRepository=new PersonRepository(db.getConnection()); var list=personRepository.GetPeople(); System.out.println("Count Of Person in People table is :" +list.s); db.Close(); } }
ببینید شما با کلا باید ببینید چه داده ای رو دارید ذخیره میکنید برای این کار برید سراغ getPeople() و ببینید داره چه نوعی برمیگردونه . که فکر کنم داره لیستی از جنس person بر میگردونه. پس شما باید دقیقا نوعی رو که خروجی متد است در این جا قرار بدید