首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >输入不能正确读取?爪哇蛇

输入不能正确读取?爪哇蛇
EN

Stack Overflow用户
提问于 2020-11-25 16:28:19
回答 1查看 58关注 0票数 0

我目前正在编写一个snake java程序,其中应该有一个从几个给定文件中选择的输入。转让情况如下:

奖金

对程序进行编辑,使其接受一个级别作为输入。一个级别定义了一些墙,玩家必须避免这些墙。水平可以在黑板上找到。这些文件的结构如下:“蛇开始的坐标,从蛇的头开始”=“蛇的初始方向”=“墙壁的坐标”。坐标的格式如下:每行一个坐标,格式为"x""space""y“。最初的方向是四个字符串之一:"L“(左),"R”(右),"U“(向上),"D”(下降)。这样的档案中的一小片:

代码语言:javascript
代码运行次数:0
运行
复制
1. 0 
0 0=R=3 3
4 3 
5 3 
6 3 
7 3 
etc.

所以1.0是指蛇头开始的第一个坐标,而0是身体第一部分开始的第二个坐标。然后R是“总”蛇应该走的起始方向。在那之后的所有坐标都形成了一道墙。

我已经写了所有关于蛇必须做的事情的代码。然而,我无法通过这个=R=。

前两个坐标,我成功地扫描和使用了我的代码(由于剽窃的原因我省略了):1.0和0。但之后的所有输入元素都不会被任何扫描仪读取.我还怀疑我能够正确地读取=R=之后的所有坐标。(//遗漏代码)

所以我的问题主要是我的程序应该如何读=R=,这样我的代码才能继续(当然,在赋值中使用R作为参考)。

我怎么能写我的代码,使它这样做呢?

代码语言:javascript
代码运行次数:0
运行
复制
void parseInput() {

    Scanner levelInput = UIAuxiliaryMethods.askUserForInput().getScanner();
    inputUser.useDelimiter("=");

    //working code

    if (levelInput.hasNext("U")) {

        direction.equals("U");
    }
    else if (levelInput.hasNext("D")) {

        direction.equals("D");
    }
    else if (levelInput.hasNext("R")) {

        direction.equals("R");
    }
    else if (levelInput.hasNext("L")) {

        direction.equals("L");
    }

     // working code
}

我怀疑我需要使用某种分隔符,但我的useDelimiter("=")不起作用.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-25 16:36:16

您可以使用扫描器:scanner.next()读取整行,然后对其执行字符串拆分:input.split("="),它返回一个包含3个项的数组(如果一切顺利的话)。然后,可以将各个元素分配给寄存器,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
 Scanner scanner = UIAuxiliaryMethods.askUserForInput().getScanner();
 String input = scanner.next();
 String[] data = input.split("=");
 String headOfSnake = data[0];
 String currentDirection = data[1];
 String coordinatesOfWalls = data[2];

编辑:

代码语言:javascript
代码运行次数:0
运行
复制
void parseInput() {

    Scanner levelInput = UIAuxiliaryMethods.askUserForInput().getScanner();
    inputUser.useDelimiter("=");

    //working code
    String input = levelInput.next();

    if (input.equals("U")) {
      // code
    } else if (input.equals("D") {
      // code
    } // ... and so on.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65008823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档