当前位置: 首页 > 面试题库 >

为什么Scanner方法中的nextDouble()向我发送“异常”

桑思远
2023-03-14
问题内容

我想输入2个数字,一个int是要提取的金额,一个double是余额(它们之间有一个空格)。由于每次提款都收取0.5的手续费,因此余额必须加倍。那就是必须打印的内容。我在nextDouble上收到错误,为什么?我只有1个月的编码,我认为这将是小菜一碟,我认为BASIC语法在30年前毁了我:(

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
    //init variables
    int amount;
    double balance;
    //insert amount and balance
    Scanner input = new Scanner (System.in);
    amount = input.nextInt();
    balance = input.nextDouble();
    //reduce amount+fee from balance
    balance=balance-(amount + 0.50);
    //print new balance
    System.out.print(balance);
    input.close();
}
}

问题答案:

它取决于语言环境,请尝试使用逗号而不是点,反之亦然。

例如: 1.5 而不是 1.5



 类似资料:
  • 问题内容: 这确实是一个好奇心,而不是一个问题。 为什么类没有方法?现在看来似乎应该当你认为它有一个事实,,等方法。 我知道您可以执行以下操作: 但是为什么没有方法呢? 问题答案: 原因是Scanner类旨在读取以空格分隔的令牌。这是包装基础输入流的便捷类。在扫描仪之前,您所能做的只是读取单个字节,如果要读取单词或行,这将是一个很大的麻烦。使用Scanner,您可以传入System.in,它会执行

  • 问题内容: 通过站点登录后,我尝试向该站点发送第二个请求- 但是,当我检查使用FireBug发送的标头时,请求中不包含会话cookie。 我究竟做错了什么? 问题答案: 如果您要调用的URL与您的调用脚本位于同一域中,则AJAX调用仅发送Cookie。 这可能是跨域问题。 也许您是在调用脚本打开时尝试从url 调用的(换句话说:您进行了跨域调用,在这种情况下,浏览器将不会发送任何cookie来保护

  • 我一直在学习JAVA,我对代码有点怀疑: 我编写了处理异常的小程序,如果用户输入不是Int,则抛出异常并分配默认值。如果我将扫描仪语句放入循环中,它可以正常工作,但如果我将其置于其外部,则分配抛出异常的相同值,即我输入的是char而不是int。但如果我输入所有整数,它会在数组中分配正确的值。 我希望你们理解我的问题。

  • 我已经将“mytest.html”发送到IIS上,这个项目由WebApi Angularjs组成,我无法获得对我的WebApi的正确请求……我不知道为什么? 超文本标记语言代码 【WebApi代码】 [模型代码] 【注册代码】 请注意,我的google chrome控制台中的错误是: 有棱角的js:10695职位http://localhost:60031/api415(不支持的媒体类型) 我也尝

  • 问题内容: Scanner kb = new Scanner(System.in); System.out.println(“Inserting L”); int L = kb.nextInt(); System.out.println(“Inserting N”); int N = kb.nextInt(); System.out.println(“Inserting x”); String x

  • 问题内容: 在Java中: 抛出。为什么?为什么在这里投降?我不知道原因。 问题答案: 让我重命名您的班级,以使事情更加清楚。 -> 。 -> 。 仅仅因为你是一个人并不意味着你是一个人。你可能是一个。这就是将A强制转换为A的原因。 另一方面,每个是吗?答案是“是”。这就是为什么您 可以 编写如下代码: 要么 另外值得注意的是,您 可以 执行以下操作: 这样做的原因是您的变量实际上是在引用实例。因