استاد سلام و خسته نباشید
استاد مشکل جلسه قبل حل شد تقریبا 128 خط کد نوشتم تا مشکل رفع شد
استاد در جلسه 24 من 2 بار کد های شما را بازنویسی کردم و دفعه 3 همه ی کد ها را خودم نوشتم اما در دفعه های قبل در هیچ کدام از دستور ها اروری دریافت نمی کردم ولی دفعه آخر هر بار که دستور پرینت می دادم ارور زیر رو می داد
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index ۲ out of bounds for length ۲
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:359)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at one.One.Printer(One.java:15)
at one.Main.printer(Main.java:59)
at one.Main.main(Main.java:26)
وقتی کد های شما رو با کد های خودم مقایسه می کردم تمامی کد ها دقیقا مثل مال شما بود ولی متود ها و کلاس ها فرق داشتند
کد های زیر کد های منه
کلاس Main
package one;
import java.util.*;
import java.util.ArrayList;
import java.util.Objects.*;
public class Main {
private static Scanner A = new Scanner(System.in);
private static One list = new One();
public static void main(String[] args) {
int date ;
boolean start = false ;
print();
while (!start) {
System.out.println("enter the number : ");
date = A.nextInt();
A.nextLine();
switch (date) {
case 1 :
print();
break;
case 2 :
printer();
break;
case 3:
add();
break;
case 4 :
remover();
break;
case 5:
searcher();
break;
case 6 :
editor();
break;
case 7 :
start = true ;
break;
}
}
}
public static void print() {
System.out.println("\n Press ");
System.out.println("\t 1 - To print options.");
System.out.println("\t 2 - To print item in list.");
System.out.println("\t 3 - To add an item .");
System.out.println("\t 4 - To remove item ");
System.out.println("\t 5 - To search item.");
System.out.println("\t 6 - To edit item in list.");
System.out.println("\t 7 - To power of the application.");
}
public static void printer() {
list.Printer();
}
public static void add() {
System.out.println("enter the date item");
list.Adder(A.nextLine());
}
public static void remover() {
System.out.println("enter the number item");
int number = A.nextInt();
list.remover(number);
}
public static void searcher() {
System.out.println("Enter to search item : ");
String item = A.nextLine();
if (list.search(item) != null) {
System.out.println("Found " + item + "in this shop");
} else {
System.out.println(item + " is not in this shop");
}
}
public static void editor() {
System.out.println("enter the number item for edit");
int item = A.nextInt();
System.out.println("enter the now item ");
A.nextLine();
list.editor(item , A.nextLine());
}
}
کلاسی بعدی کلاسی بود که دسورات توش قرار گرفته بود
package one;
import java.util.*;
public class One {
private ArrayList<String> list = new ArrayList<String>();
public void Adder(String Item) {
list.add (Item);
}
public void Printer (){
System.out.println("you have " + list.size() + "item in the list ");
for (int i = 0 ; i <= list.size() ; i++){
System.out.println((i + 1 ) + " ." + list.get(i));
}
}
public void remover (int position) {
list.remove(position) ;
System.out.println("removing item " + (position++) + " in list");
}
public void editor (int number , String item) {
list.set(number , item);
System.out.println("item " + (number-1) + "edited and go to " + item );
}
public String get_list (int position){
return get_list(position) ;
}
public String search (String searcher){
boolean true_or_false = list.contains(searcher) ;
int number = list.indexOf(searcher) ;
if (number >= 0 ) {
return get_list(number);
}
return null ;
}
}
لطفا راهنمایی کنید به مشکل خوردم / با تشکر