亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 BufferedReader 輸入實現 do...while

如何使用 BufferedReader 輸入實現 do...while

喵喔喔 2023-08-04 10:00:44
我正在嘗試制作一個簡單的計算器程序,并且基本功能有效,但我正在嘗試在程序末尾實現“您想要執行其他操作嗎”,以便如果答案是“則它會關閉” 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');      }}
查看完整描述

2 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

這是無效的: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');

并在需要從標準輸入讀取輸入的任何地方使用它。


查看完整回答
反對 回復 2023-08-04
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

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'); 

    ...

...


查看完整回答
反對 回復 2023-08-04
  • 2 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號