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

扫描仪不接受字符串值

微生令
2023-03-14

任何人都可以帮我解决这个问题。我接受三个输入:整数、双精度和字符串,但Scanner类不接受字符串值

    public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
   
        int i = scan.nextInt();
        double d = scan.nextDouble();
        String s= scan.nextLine();
  
        System.out.println("String: " + s);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);
    }
}

共有1个答案

易雅畅
2023-03-14

问题是nextInt和nextDouble将“\n”留在缓冲区中。调用nextLine()时,它将读取“\n”。因此,它不会等待您键入一行文本。诀窍是在调用nextLine()之前先使用缓冲区中的“\n”。

    public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
   
        int i = scan.nextInt();
        double d = scan.nextDouble();
        scan.nextLine(); //consume the line break
        String s= scan.nextLine();
  
        System.out.println("String: " + s);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);
    }
}
 类似资料:
  • 我正试图用Java中的扫描器将一个字符串分成另外两个字符串。好像不起作用。我只能通过谷歌找到扫描仪用来读取控制台输入的例子。我从扫描仪的手册中找出了我做事情的方式,我不确定我错了什么。 第一个和第二个是空白的,我不知道为什么。

  • 任何人都可以帮我解决这个问题。我接受三个输入:整数、双精度和字符串,但Scanner类不接受字符串值

  • 我创建了一个简单的扫描器,用于计算中的字符串数。txt文件。每个字符串位于下一行。它算错了,每次它给我数字297,甚至有超过20000个字符串。这个txt文件是由我编写的另一个程序创建的,它从网站获取链接,并使用FileWriter和BufferedWriter将其保存到。txt文件。可能有什么问题? 编辑:字符串示例:

  • 我的问题是格式化通过扫描仪输入的字符串。我试图输入“Result is”,但printf()似乎只看到字符串的“Result”部分,那么空格的命令是什么呢?thx公司

  • 问题内容: 我不明白为什么第15行不做任何输入,将不胜感激:3 输出量 请输入您的问题的第一个数字!2552所以您选择了2552选择您的第二个数字41您选择了第二个数字41现在输入ur运算符 由于某种原因,输出在最后一行结束并停止,并且不接收任何信息! 问题答案: 您需要在调用行的后面立即调用,原因是仅要求下一个整数不会占用输入中的整个行,因此您需要通过调用来跳至输入中的下一个新行字符。 每次您需

  • 我对的体验非常糟糕,因为我使用的是和。所以我不能做扫描仪的程序。我是新手,所以请帮助我,“找不到”。这是我到目前为止的代码。