0

给定以下作为控制台输入:

F 6 100 

我希望6将 分配给duration,并将100分配给speed

if(command.equalsIgnoreCase("F"))
myf.setWheelVelocities(speed,speed,duration);

但是,上面的代码似乎不起作用。完整代码如下:如何正确地将控制台输入分配给setWheelVelocitiesFinch机器人的方法参数?

import edu.cmu.ri.createlab.terk.robot.finch.Finch;
import java.util.Scanner;
public class CS1810 {

    public static void main(String args[])
    {
        Scanner scan = new Scanner(System.in);
        Finch myf = new Finch();

        // Welcome Message
        System.out.println("Welcome to Finch Robot Remote Navigation!!!");
        System.out.println();

        // Instructions
        System.out.println("Instructions on how to navigate and commands to be used:");
        System.out.println("To move forward type in 'F' followed by a space and then enter an integer representing 'duration' followed by a space and then enter an integer representing 'speed'.");
        System.out.println("To move left or right type in 'L' or 'R' followed by a space and then enter an integer representing 'duration' followed by a space and then an integer representing 'speedLeft' followed by a space and then an integer representing 'speedRight'.");
        System.out.println("To backtrack type in 'B' followed by a space and then enter an integer representing 'track' which is the number of commands you want to backtrack.");
        System.out.println("To stop the program type in 'S'.");
        System.out.println();

        // Rules
        System.out.println("Rules for commands and values entered:");
        System.out.println("You can only enter 'F,L,R,B and S' as commands.");
        System.out.println("You can only enter a 'duration' value which is less than or equal to 6.");
        System.out.println("You can only enter a 'speed','speedLeft' and 'speedRight' value between -100 and 100.");
        System.out.println("You can only enter a 'backtrack' value equal to or less than the number of commands you have entered before:");
        System.out.println();

        //Enter Command
        System.out.println("Enter your command below:");
        String command = ("");
        int duration = scan.nextInt();
        int speed = scan.nextInt();

        // Ignore Cases
        while((command.equalsIgnoreCase("F"))||(command.equalsIgnoreCase("L"))||(command.equalsIgnoreCase("R"))||(command.equalsIgnoreCase("B"))||(command.equalsIgnoreCase("S")))
        {
           if(command.equalsIgnoreCase("F"))
           myf.setWheelVelocities(speed,speed,duration);
           System.out.println("Enter a new command");
           command = scan.nextLine();      
        }
        myf.quit();
     }
}
4

1 回答 1

-1

您必须拆分,并且在此链接中提供的答案是如何按字符串中的空格拆分: 如何拆分带有任何空白字符作为分隔符的字符串?

于 2016-02-16T21:14:38.903 回答