[英]Inputting different variable types in one time in Java
我做了C ++中的計算器和我試圖重新建立鏡像像Java中。
對於2個操作數,有2個double變量( double a
和double 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.