/* 编写一个程序,显示带有选项 1 的菜单。添加 2.子 根据选择的选项,读取 2 个数字并执行相关操作。执行操作后,程序应询问用户是否要继续。如果用户按 y 或 Y,则程序应继续显示菜单,否则程序应终止。 */
import java.util.Scanner;
class menu
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
do
{
System.out.println("enter 1 for add and 2 for sub");
int a = sc.nextInt();
System.out.println("enter two numbers");
int b = sc.nextInt();
int c = sc.nextInt();
int d;
if (a == 1)
{
d = b + c;
System.out.println("sum is" + d);
}
else if (a == 2)
{
d = b - c;
System.out.println("difference is" + d);
}
System.out.println("to continue enter y or Y AND TO TERMINATE
ANY OTHER SYMBOL");
char enter = sc.next().charAt(0);
}
while (enter == 'y');
}
}
while
循环无法识别enter
的原因是因为它位于do
代码块的本地范围内。我建议在do
块之前定义enter
,如下所示
char enter;
do { pass; } while(true);
这将使while
循环的布尔表达式可以访问它,并允许您通过简单地执行此操作来初始化enter
enter = sc.next().charAt(0);