当前位置: 首页 > 知识库问答 >
问题:

使用控制台输入的java do while循环

易俊友
2023-03-14

论坛的新成员。试着搜索,但找不到任何有用的东西。我在另一个使用Java1.7的IDE上运行了这段代码,没有问题。我现在正在使用Eclipse并将java更新到1.8,并且在行“response=input.nextline();”时得到错误:java.util.NoSuchelementException。奇怪的是,我有另一个函数返回一个字符串,并使用完全相同的循环(do/while进行模式检查)进行编码,它似乎工作得很好。

static boolean search_again() {
    String response;
    //Scanner input = new Scanner(System.in);
    do {
        System.out.println("Would you like to search another site? ");
        Scanner input = new Scanner(System.in);
        response = input.nextLine();
        input.reset();            
    }
    while(!response.toUpperCase().matches("Y|YE|YES") && !response.toUpperCase().matches("N|NO"));
    if (response.matches("[nN[oO]?]")) {
        System.out.println("Goodbye");
        return false;
    }
    else {
        System.out.println("OK - search again!");
        return true;
    }
}

共有1个答案

韩明德
2023-03-14

看来您不能用相同的输入重新启动扫描仪。我使扫描仪全局化了,它似乎又开始工作了

 类似资料:
  • 问题内容: 通过控制台进行任何输入的数据类型(如我使用BufferedReader类所做的那样)为String。之后,我们将其类型转换为需要查询的数据类型(如Inter.parseInt()为整数)。但是在C语言中,我们可以接受任何输入原始数据类型,而在Java中,所有输入类型都是Neccerily String。为什么是这样? 问题答案: 控制台输入实际上以一系列字节而不是字符串的形式读入。这是

  • 我刚刚开始学习Groovy,正在GroovyConsole中进行实验。 有没有办法读取用户输入?我尝试了下面的代码,但我得到了一个错误。 这是我收到的错误: 有什么我需要进口的吗? 任何帮助都会很好。 谢谢

  • 我一直在尝试编码来查找给定数组元素的LCM。我的代码如下 我的问题是,当我输入时,输出控制台会冻结。我尝试了另一种没有while循环的方法。也就是说,消除了while循环,并在最后添加了一个if循环。 但现在编译器抛出一个错误,指出并非所有代码路径都返回一个值。有人能帮我解决代码中的问题吗?我是一名编程初学者。提前谢谢!!

  • 我有一些多行文字作为控制台输入。诸如此类: 行数可能每次都不同(一、二、三、四等,但不是零),但这个文本总是在瞬间用行分隔符(一个粘贴,而不是按回车键输入几个)输入。这个Java应用程序必须立即开始对这些行做些什么,但出于某种原因,我不明白如何做出这种行为。我的意思是,它必须将所有这些行保存到,或,或

  • 问题内容: 我正在尝试用Python创建一个简单的IRC客户端(这是我学习该语言时的一个项目)。 我有一个循环,可以用来接收和解析IRC服务器发送给我的内容,但是如果我使用它raw_input来输入内容,它将停止循环,直到我输入某些东西为止(显然)。 如何在不停止循环的情况下输入内容? 提前致谢。 (我认为我不需要发布代码,我只想输入一些内容,而while 1循环不会停止。) 编辑:我在Windo

  • 问题内容: 我只有一种方法。如何检查System.out.println()并将Scanner替换为使用JUnit自动输入值? PS,请提供一些解决方案… 问题答案: 理想情况下,提取尴尬的依赖关系,以便您可以在没有依赖关系的情况下进行测试。更改为简单: (考虑使用a 代替for 。) 然后,您实际上不需要进行单元测试-但您可以使用基于的进行测试,并基于的输出进行测试,从而提供所需的任何输入并检查