"Switch" 另一个开关函数中的函数 java
"Switch" function in another switch function in java
我一直在尝试制作一个类似于菜单的程序,您可以在其中 select 使用开关功能执行您想做的事情。但是在案例 1、案例 2 和案例 3 中我想做另一个“切换”functions.The 问题是我不知道如何在我之后从案例 1,2 或 3 返回主菜单“切换(练习)”从我的列表中添加 element/remove 元素/修改元素。
“INVALID ENTRY”意味着完成此案。
案例 1、案例 2 和案例 3 是基于列表(课程、教授、学生)的。
public class Clase {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(" ALEGE EXERCITIUL:\n0.Pentru a iesi \n1.Adauga/Sterge/Modfica un curs \n2.Adauga/Sterge/Modifica un student \n3.Adauga/Sterge/Modifica un profesor \n4.Raporta toti studentii inscrisi la un curs \n5.Raporta toate cursurile \n6.Ca un profesor sa poata nota un student \n7.Raporta notele tuturor studentilor \n8.Raporta media notelor studentilor la un curs \n9.Raporta media notelor date de un profesor");
int exercitiul = input.nextInt();
do {
switch (exercitiul) {
case 1:
System.out.println("Alege: \n0.Iesi in meniul de exercitii \n1.Adauga curs \n2.Sterge curs \n3.Modifica curs \n4.Vezi lista cursurilor");
int ex1 = input.nextInt();
if(ex1==1){
ManagerCursuri.AdaugaCurs(cursuri);}
else if(ex1==2){
ManagerCursuri.StergeCurs(cursuri);}
else if(ex1==3){
System.out.println("INVALID ENTRY");}
else if(ex1==4){
System.out.println(cursuri);}
else if (ex1==0){exercitiul=input.nextInt();}
break;
case 2:
System.out.println("Alege: \n0.Iesi in meniul de exercitii \n1.Adauga student \n2.Sterge student\n3.Modifica student \n4.Vezi lista studentilor");
int ex2 = input.nextInt();
break;
case 3:
System.out.println("Alege: \n1.Adauga profesor \n2.Sterge profesor\n3.Modifica profesor \n4.Vezi lista profesorilor");
int ex3 = input.nextInt();
break;
case 4:
System.out.println("INVALID ENTRY");
break;
case 5:
System.out.println("INVALID ENTRY");
break;
case 6:
System.out.println("INVALID ENTRY");
break;
case 7:
System.out.println("INVALID ENTRY");
break;
case 8:
System.out.println("INVALID ENTRY");
break;
case 9:
System.out.println("INVALID ENTRY");
break;
default:
if (exercitiul != 0)
System.out.println("~Comanda invalida!~Alege un numar din lista enumerata mai sus!~");
else
System.out.println("Multumesc pentru rularea programului :)");
}
}
while ((exercitiul <= 0) && (exercitiul >= 9));
}
}
您正在查找名为 'labels' 的 java 功能:
thisIsALabel:
switch(outer) {
case 1:
switch(inner) {
case 1:
break thisIsALabel;
case 2:
break;
}
System.out.print("Hello! ");
}
System.out.println("Bye!");
用 outer = 1, inner = 2
调用上面的代码将打印:Hello! Bye!
。用 outer = 1, inner = 1
调用它只打印 Bye!
,因为它被解释为在与您指定的标签相同的级别中断 switch 语句,即外部 'switch'(标记为 break 或 continue breaks所有结构,直到到达目标结构,然后 breaks/continues 那个结构)。
我一直在尝试制作一个类似于菜单的程序,您可以在其中 select 使用开关功能执行您想做的事情。但是在案例 1、案例 2 和案例 3 中我想做另一个“切换”functions.The 问题是我不知道如何在我之后从案例 1,2 或 3 返回主菜单“切换(练习)”从我的列表中添加 element/remove 元素/修改元素。
“INVALID ENTRY”意味着完成此案。
案例 1、案例 2 和案例 3 是基于列表(课程、教授、学生)的。
public class Clase {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(" ALEGE EXERCITIUL:\n0.Pentru a iesi \n1.Adauga/Sterge/Modfica un curs \n2.Adauga/Sterge/Modifica un student \n3.Adauga/Sterge/Modifica un profesor \n4.Raporta toti studentii inscrisi la un curs \n5.Raporta toate cursurile \n6.Ca un profesor sa poata nota un student \n7.Raporta notele tuturor studentilor \n8.Raporta media notelor studentilor la un curs \n9.Raporta media notelor date de un profesor");
int exercitiul = input.nextInt();
do {
switch (exercitiul) {
case 1:
System.out.println("Alege: \n0.Iesi in meniul de exercitii \n1.Adauga curs \n2.Sterge curs \n3.Modifica curs \n4.Vezi lista cursurilor");
int ex1 = input.nextInt();
if(ex1==1){
ManagerCursuri.AdaugaCurs(cursuri);}
else if(ex1==2){
ManagerCursuri.StergeCurs(cursuri);}
else if(ex1==3){
System.out.println("INVALID ENTRY");}
else if(ex1==4){
System.out.println(cursuri);}
else if (ex1==0){exercitiul=input.nextInt();}
break;
case 2:
System.out.println("Alege: \n0.Iesi in meniul de exercitii \n1.Adauga student \n2.Sterge student\n3.Modifica student \n4.Vezi lista studentilor");
int ex2 = input.nextInt();
break;
case 3:
System.out.println("Alege: \n1.Adauga profesor \n2.Sterge profesor\n3.Modifica profesor \n4.Vezi lista profesorilor");
int ex3 = input.nextInt();
break;
case 4:
System.out.println("INVALID ENTRY");
break;
case 5:
System.out.println("INVALID ENTRY");
break;
case 6:
System.out.println("INVALID ENTRY");
break;
case 7:
System.out.println("INVALID ENTRY");
break;
case 8:
System.out.println("INVALID ENTRY");
break;
case 9:
System.out.println("INVALID ENTRY");
break;
default:
if (exercitiul != 0)
System.out.println("~Comanda invalida!~Alege un numar din lista enumerata mai sus!~");
else
System.out.println("Multumesc pentru rularea programului :)");
}
}
while ((exercitiul <= 0) && (exercitiul >= 9));
}
}
您正在查找名为 'labels' 的 java 功能:
thisIsALabel:
switch(outer) {
case 1:
switch(inner) {
case 1:
break thisIsALabel;
case 2:
break;
}
System.out.print("Hello! ");
}
System.out.println("Bye!");
用 outer = 1, inner = 2
调用上面的代码将打印:Hello! Bye!
。用 outer = 1, inner = 1
调用它只打印 Bye!
,因为它被解释为在与您指定的标签相同的级别中断 switch 语句,即外部 'switch'(标记为 break 或 continue breaks所有结构,直到到达目标结构,然后 breaks/continues 那个结构)。