-1

我想扫描用户键入的句子,但我想单独扫描单词,然后根据用户输入的单词执行操作。

}else if(choice.equals("load")){
  System.out.println("Enter the name of the file:");
  String name = input.next();
  loadFile(name);

我想要的是用户直接输入“load file.txt”

4

2 回答 2

2

我尝试为您编写一个小代码,这可能会对您有所帮助

    public class Tester2 {

    /**
     * @param args
     */
    public static void main(String[] args) {

        boolean state = true;
        while(state) {

            System.out.println("Please enter your text");
            Scanner scan = new Scanner(System.in);
            String input = scan.nextLine();
            if(input.contains("load")) {
                String fileName = getFileName(input);
                if(fileName != "" || fileName!= null) {
                    load(fileName);
                }
            }else{

            }

        }

    }

    private static String getFileName(String input) {
        String values[] = input.split("\\s+");
        String fileName = "";
        for(String s : values) {
            if(s.indexOf(".") > 0) {
                fileName = s;
                break;
            }
        }
        return fileName;
    }

}
于 2012-12-18T22:30:29.277 回答
0

评论太长了,我真的不明白你最后的评论是什么意思。这是一些示例代码。尝试使用类似的输入

  • 加载文件名.txt
  • 加载 foo bar baz
  • 保存 foo
  • 任何 ...

    System.out.println("What would you like to do");
    Scanner scanner = new Scanner(System.in);
    String line = scanner.nextLine();
    String[] input = line.split("\\s+");
    if (input[0].equals("load")) {
        for (int i = 1; i < input.length; i++) {
            System.out.println("Token #" + i + " after load: " + input[i]);
        }
    } else {
        System.out.println("You did not enter load, I ignore your input");
    }
    

如果您对行为或其他任何问题有疑问:请随时发表评论。

于 2012-12-18T23:07:07.483 回答