如何使用 BufferedReader 输入实现 do...while

我正在尝试制作一个简单的计算器程序,并且基本功能有效,但我正在尝试在程序末尾实现“您想要执行其他操作吗”,以便如果答案是“则它会关闭” t y。说我的“yesorno”无法解析为变量


public static void main(String[] args) throws IOException {

    // TODO Auto-generated method stub


    do {


        System.out.println("Enter 2 numbers");


        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        int numero1=Integer.parseInt(br.readLine());


        BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));

        int numero2=Integer.parseInt(br2.readLine());


        System.out.println("Select an operation");


        BufferedReader br3=new BufferedReader(new InputStreamReader(System.in));

        char Operacija=(char)br3.read();

        switch (Operacija)

        {

        case '+':

            System.out.println(numero1+numero2);

            break;

        case '-':

            System.out.println(numero1-numero2);

            break;

        case '/':

            System.out.println(numero1/numero2);

            break;

        case '*':

            System.out.println(numero1*numero2);

            break;

        default:

            System.out.println("Illegal operation");

        }

        BufferedReader br4=new BufferedReader(new InputStreamReader(System.in));

        char yesorno=(char)br4.read();

    }while (yesorno=='y');      





}}


喵喔喔
浏览 113回答 2
2回答

智慧大石

这是无效的:while (yesorno='y');您为变量赋值,而while语句需要布尔表达式。所以你想写: while (yesorno=='y');而且您不需要创建/声明这么多BufferedReader对象,因为它们都使用相同的源:System.in。因此,只需在以下之前声明并实例化它一次do/while():BufferedReader br = new BufferedReader(new InputStreamReader(System.in));char yesorno= 'y';do {    System.out.println("Enter 2 numbers");    //...}  while (yesorno=='y');并在需要从标准输入读取输入的任何地方使用它。

慕侠2389804

char yesorno尝试在进入循环之前定义:并参考 davidxxx:你需要使用==而不是=public static void main(String[] args) throws IOException {    // TODO Auto-generated method stub    char yesorno = 'y';    do {        System.out.println("Enter 2 numbers");    ...    case '*':            System.out.println(numero1*numero2);            break;        default:            System.out.println("Illegal operation");        }        BufferedReader br4=new BufferedReader(new InputStreamReader(System.in));        yesorno=(char)br4.read();    }while (yesorno=='y');     ......
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java