在我的代码变量中,编译器找不到输入.怎么办?



/* 编写一个程序,显示带有选项 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);

相关内容

  • 没有找到相关文章