前提・実現したいこと
アクセス修飾子を使い、決められたキーボードのキーを押すたびにスピードアップ、スピードダウン、停止をするプログラムを作成しています。一度キーを押すと、スピードアップやダウンをする所までは作成できたのですが、2回目からキーを押してもスピードが変わらず、困っています。解き方のヒントを教えていただけると嬉しいです。よろしくお願いします。
発生している問題・エラーメッセージ
2回目以降、キーを押してもスピードアップやスピードダウンを行わない
該当のソースコード
Java
1import java.util.Scanner; 2public class AccessControl { 3public static void main(String args[]) { 4 Scanner sc=new Scanner(System.in); 5 System.out.println("エンジンがかかりました。"); 6 System.out.println("停止しています。"); 7 System.out.println("スピードアップ:u\nスピードダウン:d\n終了:q\nを入力してください。"); 8 String speeds=sc.next(); 9 Car car=new Car(); 10 if(speeds.equals("u")) { 11 car.SpeedUp(); 12 }else if(speeds.equals("d")) { 13 car.SpeedDown(); 14 }else if(speeds.equals("q")){ 15 car.Stop(); 16 } 17 } 18} 19class Car{ 20 Scanner sc=new Scanner(System.in); 21 private int speed=0; 22 23 public void SpeedUp() { 24 if(speed<80) { 25 speed++; 26 System.out.println("現在のスピードは"+speed+"です。"); 27 System.out.println("uまたはdまたはqを入力してください"); 28 29 }else{ 30 System.out.println("これ以上スピードアップはできません。"); 31 System.out.println("現在のスピードは"+speed+"です。"); 32 System.out.println("uまたはdまたはqを入力してください"); 33 } 34 } 35 public void SpeedDown() { 36 if(speed>0) { 37 speed--; 38 System.out.println("現在のスピードは"+speed+"です。"); 39 System.out.println("uまたはdまたはqを入力してください"); 40 }else{ 41 System.out.println("最低速度0kmに達しました。"); 42 System.out.println("車は停止しました。"); 43 System.out.println("現在のスピードは"+speed+"です。"); 44 System.out.println("uまたはdまたはqを入力してください"); 45 } 46 } 47 public void Stop() { 48 System.out.println("停止します"); 49 } 50} 51
補足情報(FW/ツールのバージョンなど)
eclipse
ここにより詳細な情報を記載してください。