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

如何在Java中将字符串输入转换为双精度输入?[副本]

狄玉书
2023-03-14

我的代码不起作用,而且“checkValidNumber(瞬时值)”中有错误,表示字符串不能转换为double。

/**
 * Add a pokémonCard to collection
 */
public void addPokémonCard()
{
    final int INCREMENT = 1;
    
    boolean repeat = true;  // a boolean variable return true
    
    // Ask user for details
    String name = UI.askString("Name of PokémonCard: ");
    if (name.equals("")) {
        UI.println("I don't recognise that command");
        addPokémonCard();
    } else if (name == null ) {
        UI.println("Please type a PokémonCard's name: ");
        addPokémonCard();
    } else {
        // Check boundaries for the number of the momentary value of PokémonCard added
        do {
            String momentary_value = UI.askString("Momentary value: ");
            // Check a suitable value of a PokémonCard 
            if (checkValidNumber(momentary_value)){
                double momentary_value1 = Double.parseDouble(momentary_value);
                // Increment the PokémonCard ID count and add to hashmap
                pokémonCards.setPokémonCardId(); // Increment the id by 1
                //add a PokémonCard image to display in the GUI
                String imgFileName = UIFileChooser.open("Choose Image File: ");
                pokémonCards.addPokémonCard(name, momentary_value1, imgFileName);
                UI.println("Added");
                repeat = false;
            } else if (checkValidNumber(momentary_value) == false) { // Check for invalid value
                UI.println("Please input a valid price!");
            } else { // Check for invalid value
                UI.println("Must be a number!");
            }
        }while (repeat); //repeat the method again if there's null input
    }
}

/**
 * Check a valid number for momentary value
 * @return boolean false if it's an invalid number
 * @param momentary_value for the price of PokemonCard
 */
public boolean checkValidNumber(double momentary_value){
    boolean validNumber = false;
    if (momentary_value > 0) { 
        validNumber = true;
    } 
    return validNumber;
}

共有1个答案

万坚壁
2023-03-14

你需要先转换成双倍

checkValidNumber(Double.parseDouble(momentary_value))
 类似资料:
  • 问题内容: 我有一个双,其值是10,000,000.00(千万)。我必须将其转换为。当使用该方法时,我会得到 “ 1.0E7”,它遵循规范是正确的。不幸的是,我需要“ 10,000,000.00”(或等价的语言,具体取决于语言环境)。 如何做到这一点? 问题答案: 尝试之一 NumberFormat http://java.sun.com/javase/6/docs/api/java/text/N

  • 问题内容: 我正在尝试使用FOP和Java生成PDF文档。 我以字符串而不是文件的形式接收XML。 如何将该XML字符串转换为XML输入流,以便可以调用xslfoTransformer.transform(source,res); 其中source是我的XML字符串作为输入流。 请提供您的建议。 问题答案: 您可能希望将其转换为,而不是。使用StringReader执行此操作。StreamSour

  • 我正在创建一个基本的GUI,它接受用户输入的金额,并用预先存在的金额减去它。然而,它不会让我运行下面的一个,因为我得到了一个字符串不能转换为double的错误。这里使用parseInt方法不起作用,因为im使用getText方法。

  • 我还是一名学生,刚开始学习java编程语言,我只是想问一下如何将函数main中的参数从字符串转换为double,就像将字符串转换为整数一样。pasreInt(arg)

  • 问题内容: 我正在使用Scanner类获取输入,并希望在显示时将输入转换为大写字母。这是我的代码 由于我已经将其转换为大写,但输出就像 PS:我在终端中输入的字母是“ a” 但是我想将其显示为大写。我该如何更改? 问题答案: 该方法不会更改(不能)的值;它返回大写字母。更改 至 更新 更新后的问题现在指示 在键入 大写字母时要打印 它们 。Java无法做到这一点,因为Java无法控制操作系统如何将

  • 这是我的代码片段。我想给用户一个可变长度的数字并将其转换为int数组。示例:输入:352040,输出:{3,5,2,0,4,0} 这出现了一个错误(线程“main”java.lang.NullPointerException中的异常),我不明白为什么。 谢谢你的帮助。