Я пытаюсь выполнить поиск и сортировку данных с помощью переключателя. я должен ввести количество данных и его членов. например:
количество данных: // например: 2 введите данные:
data num-1: // пользовательский ввод data num-2: // пользовательский ввод
выбор
case 1: // поиск данных
case 2: // bubbleort
case 3: // выборочная сортировка
case 4: // edit
я застрял на case 4. Я пробовал свой код, но количество данных и текущий нет изменяется вообще, и если я хочу изменить объем данных с большим числом, чем раньше, индекс выходит за пределы. вот код.
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n;
System.out.println("-------------------data search and sort-------------------");
System.out.println("");
System.out.println("");
System.out.println("Hai ");
System.out.print("How many datas do you want? : ");
n=s.nextInt();
int bil[]=new int[n]; //bil is array
System.out.println("input the data:");
for(int i=1;i<=n;i++){
System.out.print(" data -" +i+ " = ");
bil[i-1]=s.nextInt();
}
System.out.println("");
System.out.println("");
while(true){
System.out.println("Displaying data(s) : ");
for(int i: bil){
System.out.print(i+" ");
}
System.out.println("");
System.out.println("Menu:");
System.out.println("\t1. Search data");
System.out.println("\t2. Bubblesort ascending");
System.out.println("\t3. SelectionSort descending");
System.out.println("\t4. Edit");
System.out.println("\t5. Exit");
System.out.print("What's your choice? : ");
int pilih=s.nextInt();
switch(pilih){
case 1:
System.out.println("Enter the number you are looking for = ");
int srch = s.nextInt();
boolean found = false;
for(int index=0; index<bil.length; index++) {
if(bil[index] == srch){
found = true;
}
}
if(found == true) {
System.out.println("Found '"+srch + "' in data collection!");
} else {
System.out.println(srch + "there is no data you're looking for here");
}
System.out.println("");
System.out.println("Displaying data : ");
for(int i: bil){
System.out.print(i+" ");
}
System.out.println("");
System.out.print("Continue? (y/n)");
String conti = s.next();
boolean nue;
switch(con){
case "y":
nue = false;
break;
case "n":
return;
}
break;
case 2:
System.out.println("BubbleSorting is done!");
System.out.println("");
System.out.println("Displaying data(s) :");
int i, j, te;
for (i = 0; i < n; i++)
for (i = 0; i < ( n - 1 ); i++) {
for (j = 0; j < n - i - 1; j++) {
if (bil[j] > bil[j+1]){
te = bil[j];
bil[j] = bil[j+1];
bil[j+1] = te;
}
}
}
for (i = 0; i < n; i++) {
System.out.print(bil[i]);
}
System.out.print("Continue? (y/n)");
conti = s.next();
switch(conti){
case "y":
nue = false;
break;
case "n":
return;
}
break;
case 3:
for (i = 0; i < n; i++){
for (j = i + 1; j < n; j++){
if (bil[i] < bil[j]){
te = bil[i];
bil[i] = bil[j];
bil[j] = te;
}
}
}
System.out.print("SelectionSort is done");
System.out.println("");
System.out.println("Displaying data(s):");
for (i = 0; i < n - 1; i++){
System.out.print(bil[i] + " ");
}
System.out.print(bil[n - 1]);
System.out.println("");
System.out.print("Continue? (y/n)");
conti = s.next();
switch(conti){
case "y":
nue = false;
break;
case "n":
return;
}
break;
case 4:
System.out.print("WARNING!!! the data will be change!");
System.out.print("continue? (y/t)");
String change = s.next();
boolean edit;
switch(change){
case "y":
System.out.print("How many datas do you want? = ");
n=s.nextInt();
System.out.println("Input the data");
for(i=1;i<=n;i++){
System.out.print(" data -" +i+ " = ");
bil[n]=s.nextInt();
edit = false;
}
break;
case "n":
return;
}
break;
}
}
ps: не забываю импортировать java .util.Scanner