2017-08-22 6 views
1

私は、「顧客」を終了した後、私のコンソールをjavaでクリアするのにずっと探しました。私が話しているのは、自分のJavaコードを使って誰かに「買う」ことができるコードを作ったのですが、コンソールをクリアしたり、スキャナをやり直すことはできません。彼らはそれを使用して完了した後。
私のコードはここにある:Javaでコンソールをクリアする方法

package restaurantmanagement; 

import static java.lang.System.in; 
import static java.lang.System.out; 
import java.util.Scanner; 

public class RestaurantManagement { 
    public static void main(String[] args) { 
     Scanner sc = new Scanner(in); 
     double beefsandwhichcombo = 9.00; 
     double chickensandwhichcombo = 10.00; 
     double frenchfries = 2.99; 
     double eggsandwhich = 6.99; 
     double sDrink = 1.50; 
     double mDrink = 2.50; 
     double lDrink = 3.50; 
     out.println("Our menu:"); 
     out.println("1. Beef Sandwhich Combo - " + beefsandwhichcombo); 
     out.println("2. Chicken Sandwhich Combo - " + chickensandwhichcombo); 
     out.println("3. French Fries - " + frenchfries); 
     out.println("4. Egg Sandwhich - " + eggsandwhich); 
     out.println("5. Small Drink - " + sDrink); 
     out.println("6. Medium Drink - " + mDrink); 
     out.println("7. Large Drink - " + lDrink); 
     double Total = 0; 
     String whatbuy; 
     out.println("What do you want to buy?"); 
     whatbuy = sc.nextLine(); 
     if (null != whatbuy) switch (whatbuy) { 
      case "1": 
       Total = Total + beefsandwhichcombo; 
       break; 
      case "2": 
       Total = Total + chickensandwhichcombo; 
       break; 
      case "3": 
       Total = Total + frenchfries; 
       break; 
      case "4": 
       Total = Total + eggsandwhich; 
       break; 
      case "5": 
       Total = Total + sDrink; 
       break; 
      case "6": 
       Total = Total + mDrink; 
       break; 
      case "7": 
       Total = Total + lDrink; 
       break; 
      case "No": 
       Total = Total; 
       break; 
      default: 
       break; 
     } 
     String anyelse; 
     out.println("Do you want anything else?"); 
     anyelse = sc.nextLine(); 
     if (null != anyelse) switch (anyelse) { 
      case "1": 
       Total = Total + beefsandwhichcombo; 
       break; 
      case "2": 
       Total = Total + chickensandwhichcombo; 
       break; 
      case "3": 
       Total = Total + frenchfries; 
       break; 
      case "4": 
       Total = Total + eggsandwhich; 
       break; 
      case "5": 
       Total = Total + sDrink; 
       break; 
      case "6": 
       Total = Total + mDrink; 
       break; 
      case "7": 
       Total = Total + lDrink; 
       break; 
      case "No": 
       Total = Total; 
       break; 
      default: 
       break; 
     } 
     String anyelse1; 
     out.println("Do you want anything else?"); 
     anyelse1 = sc.nextLine(); 
     if (null != anyelse1) switch (anyelse1) { 
      case "1": 
       Total = Total + beefsandwhichcombo; 
       break; 
      case "2": 
       Total = Total + chickensandwhichcombo; 
       break; 
      case "3": 
       Total = Total + frenchfries; 
       break; 
      case "4": 
       Total = Total + eggsandwhich; 
       break; 
      case "5": 
       Total = Total + sDrink; 
       break; 
      case "6": 
       Total = Total + mDrink; 
       break; 
      case "7": 
       Total = Total + lDrink; 
       break; 
      case "No": 
       Total = Total; 
       break; 
      default: 
       break; 
     } 
     String coupon; 
     out.println("Do you have a coupon? Y/N"); 
     coupon = sc.nextLine(); 
     if (null != coupon) switch (coupon) { 
      case "Y": 
       Total = Total/1.5; 
       break; 
      case "N": 
       Total = Total; 
       break; 
     } 
     double tax = 1.24; 
     Total = Total * tax; 
     double Totald1 = Total; 
     double w1 = Totald1; 
     double m1 = w1; 
     double y1 = m1; 
     out.println("Your total : $" + Total); 
     Total = 0; 
    } 

} 

そして、何私が取得しています:

Our menu: 
1. Beef Sandwhich Combo - 9.0 
2. Chicken Sandwhich Combo - 10.0 
3. French Fries - 2.99 
4. Egg Sandwhich - 6.99 
5. Small Drink - 1.5 
6. Medium Drink - 2.5 
7. Large Drink - 3.5 
What do you want to buy? 
6 
Do you want anything else? 
2 
Do you want anything else? 
3 
Do you have a coupon? Y/N 
Y 
Your total : $12.805066666666667 

をしかし、私はこれを終了した場合、私のJavaコードは、それがYour total言っていることがわかりますように、私がしたいことはあるとそれを数秒間維持してからリセットします。どのようにこれを行うにはどのようなアイデア?
EDIT:
また、2一石鳥、ダブルは2つ以上の小数点以下の桁数を持っている場合にJavaのテストを行い、その後、第二いずれかにラウンド作り方すべてのアイデア、例えば、13.424をヒットするでしょう13.42になります。
私はNetBeansとEclipseを使用しています。 Linuxを使用している場合

+0

@Carcigenicate私は既にそこを見ていましたが、私がやろうとしていることについては運がありませんでした。 – BlazeDaBlur2

+0

そして、必ずしも特定の数の場所にダブルを丸めることはできません。ただし、特定の数の場所に丸められた数値の文字列表現を使用できます。 – Carcigenicate

+0

あなたの質問にどう答えませんか? – Carcigenicate

答えて

1

あなたは2進数に変更するためにこれを使用することができます。

DecimalFormat df = new DecimalFormat("##.##"); 
total = Double.parseDouble(df.format(total)); 
+0

ダブルを文字列に変換できません – BlazeDaBlur2

+0

答えを編集しました。それは私のために働いています。それがあなたを助けることを願っています。 –

1

は、あなたがそのコマンドに Runtime.getRuntime().exec("clear");

を行うことができますし、タイマーを設定したい場合。 TimerおよびTimerTaskクラスについて読む

1

Windows上でRuntime#execを使用すると、端末の外部で別個のプロセスが作成されるため、機能しません。
それは絶対に何もしません。

ご使用の端末がANSIシーケンスをサポートしている場合は、単にString"\u001Bc"と印刷することができます。
ほとんどの端末はこのシーケンスを認識し、それ自身をクリアします。

+0

を参照してください。不正なエスケープ文字が表示されます。 – BlazeDaBlur2

+0

固定。 Javaは '\ x'の代わりに' \ u'をサポートします – Midnightas

+0

これはcを返し、コンソールをクリアしません。 – BlazeDaBlur2

1

あなたは多分これを使用することができます。

System.out.println("\u000c"); 
+0

実行が完了していませんが、これは他の人には有効です。 – BlazeDaBlur2

関連する問題