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

扫描仪不获取字符串值[重复]

严远
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);
    }
}
 类似资料:
  • 任何人都可以帮我解决这个问题。我接受三个输入:整数、双精度和字符串,但Scanner类不接受字符串值

  • 问题内容: 我试图找到一种方法来从键盘输入。 我尝试使用: 该方法不存在。 我尝试了作为。但是,它并不总是在每种情况下都可行,因为我从我的方法中调用的另一个方法需要作为输入。因此,我必须找到一种显式将char作为输入的方法。 有什么帮助吗? 问题答案: 你可以从中提取第一个字符: 消耗正好一个字符,你可以使用: 要严格使用一个字符,可以使用:

  • 我正试图用Java中的扫描器将一个字符串分成另外两个字符串。好像不起作用。我只能通过谷歌找到扫描仪用来读取控制台输入的例子。我从扫描仪的手册中找出了我做事情的方式,我不确定我错了什么。 第一个和第二个是空白的,我不知道为什么。

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

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

  • 问题内容: 我有一个创建多个对象并将其放入一个类的类,如下所示: 我有一个从控制台扫描输入“ add”的应用程序,如果找到该应用程序,则调用如下所示的方法: 该应用程序应允许用户根据需要多次输入“添加”,但是在add调用该方法后将出现错误“找不到行” 。 我猜这是因为方法中的尚未关闭,然后在需要时重新打开。这是程序的问题吗?如果是,我将如何修复它? 请注意,该程序尚未完成,因为我将添加一种出售这些