如何在JAVA中修复我的循环代码?

时间:2017-04-02 14:34:26

标签: java loops

我试图做到这样,如果这个人输入除了"宝马"之外的任何其他东西。或者"奥迪"他们会被送回他们重新打字的地步,我是一名初学者,所以请尽可能解释:3非常感谢!对不起,如果我的代码很乱,还有新的工作并继续工作!

编辑:非常感谢男/女帮忙:3

import java.util.Scanner;

class MyClass {

public static void main(String[ ] args) {
  Vehicle V1 = new Vehicle();
  Vehicle V2 = new Vehicle();


  //Vehicle 1 (BMW)
  V1.setColour("Blue");
  V1.setFuel(56);
  V1.setWheels(3);
  V1.setMaxSpeed(150);
  //Vehicle 2 (AUDI)
  V2.setColour("Red");
  V2.setFuel(59);
  //Wheels and Max speed are on default...


      System.out.println("Choose from Audi or BMW");
      Scanner input = new Scanner(System.in);
      String q = input.next();
      while(q.equalsIgnoreCase("BMW") || q.equalsIgnoreCase("AUDI")){

      if (q.equalsIgnoreCase("BMW")){ // Prints BMW Car Specifications
          System.out.println("Here is the latest BMW Car specifications:");
          System.out.println("Colour: " + V1.getColour());
          System.out.println("Fuel Capacity: " + V1.getFuel() + " Liters");
          System.out.println("Wheel count: " + V1.getWheels());
          System.out.println("Maximum Speed: " + V1.getMaxSpeed() + " KM/H");
          break;
      }else if(q.equalsIgnoreCase("AUDI")){ //Prints AUDI Car Specifications
          System.out.println("Here is the latest AUDI Car specifications:");
          System.out.println("Colour: " + V2.getColour());
          System.out.println("Fuel Capacity: " + V2.getFuel() + " Liters");
          System.out.println("Wheel count: " + V2.getWheels());
          System.out.println("Maximum Speed: " + V2.getMaxSpeed() + " KM/H");
          break;
      }else{
          System.out.println("Sorry that is not a car manufacturer listed      (AUDI/BMW)");
      }
  }   
}
}

2 个答案:

答案 0 :(得分:1)

您需要询问用户,直到他输入一个正确的单词。所以你必须这样做:

 String q = input.next();
 while(!q.equalsIgnoreCase("BMW") && !q.equalsIgnoreCase("AUDI")){
    q = input.next();
 }

之后,您可以根据用户输入信息打印出有关AUDI或BMW的信息。

答案 1 :(得分:1)

你需要将你的if和else if语句排除在循环之外然后重新提示 如果用户不是宝马或奥迪,则在循环外测试字符串

int car=0;
    while(car==0)
    {
        if(q.equalsIgnoreCase("BMW")||q.equalsIgnoreCase("AUDI"))
            car++;
        else
        {
            System.out.println("Sorry that is not a car manufacturer listed           (AUDI/BMW)");
            System.out.println("Choose from Audi or BMW");
            q = input.next();
        }

    }
if (q.equalsIgnoreCase("BMW")){ // Prints BMW Car Specifications
      System.out.println("Here is the latest BMW Car specifications:");
      System.out.println("Colour: " + V1.getColour());
      System.out.println("Fuel Capacity: " + V1.getFuel() + " Liters");
      System.out.println("Wheel count: " + V1.getWheels());
      System.out.println("Maximum Speed: " + V1.getMaxSpeed() + " KM/H");

  }else if(q.equalsIgnoreCase("AUDI")){ //Prints AUDI Car Specifications
      System.out.println("Here is the latest AUDI Car specifications:");
      System.out.println("Colour: " + V2.getColour());
      System.out.println("Fuel Capacity: " + V2.getFuel() + " Liters");
      System.out.println("Wheel count: " + V2.getWheels());
      System.out.println("Maximum Speed: " + V2.getMaxSpeed() + " KM/H");
    }