簡體   English   中英

用Java一次輸入不同的變量類型

[英]Inputting different variable types in one time in Java

我做了C ++中的計算器和我試圖重新建立鏡像像Java中。

對於2個操作數,有2個double變量( double adouble b ),並且將一個char( char op )放入了if循環,因此對於instace if op = '+'它將提示cout << a << op << b << "=" << a+b << endl;

所以我可以在控制台提示符下寫12+2並看到12+2=14作為輸出。

現在在Java中,我必須每行一個:

    Scanner Scin = new Scanner(System.in);
        System.out.println("OPERATION>");
        a = Scin.nextDouble();
        op = Scin.next().charAt(0);
        b = Scin.nextDouble();

所以我必須寫一個值,然后按每次返回。 我輸入都在同一個時間像C ++和如何可能做到這一點的一行代碼? 提前致謝。

您無法使用Scanner一次讀取多個變量,而必須一次讀取一次。 然而,有一個很好的方式,讓沒有擊中每次輸入或輸入一個空格發生輸入:設置不同的分隔符! 缺省的分隔符是空白(包括換行符),但你也可以將它設置為字邊界\\b從正則表達式。

Scanner in = new Scanner(System.in).useDelimiter("\\b|\\s+");

現在您可以閱讀12+2 ,它將在您需要的位置拆分next調用,或者您可以繼續按Enter,或者可以在值之間放置空格。 您的選擇:D

要將分隔符恢復到正常狀態,請使用in.reset()

編輯 :為了防止單詞邊界在小數點處拆分輸入,請使用以下模式:

(?<!\\.)\\b(?!\\.)|\\s+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM