scnr 函数不会读取输入

问题描述 投票:0回答:1
import java.util.Scanner;
    
      public class LabProgram { public static void main(String[] args) { 
           Scanner scnr = new Scanner(System.in);
    
      boolean payments;
      boolean cb;
      boolean pa;
      boolean ir;
      
      cb = scnr.nextBoolean();
      pa = scnr.nextBoolean();
      ir = scnr.nextBoolean();
      
      System.out.println(cb);
      System.out.println(pa);
      System.out.println(ir);
        }
    }

例如,输入为“1000.0 50.0 0.03”。

我正在尝试为我正在从事的实验室创建基本功能,但我无法让程序读取输入,因此我可以将它们用于其余的作业。

如有任何建议,我们将不胜感激

java input boolean
1个回答
0
投票

这完全取决于您要处理的输入类型。

scanner.nextBoolean
方法处理值“true”和“false”,如果传递不同的值,则会引发异常。如果你想管理数值我建议使用
scanner.nextBigDecimal
方法指定扫描仪的
locale
属性,否则你可能会遇到数字格式的问题。这是 Java 1.8 中的一个工作示例:

package org.example;

import java.math.BigDecimal;
import java.util.Locale;
import java.util.Scanner;

public class LabProgram {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in).useLocale(Locale.US);

        BigDecimal first = scanner.nextBigDecimal();
        BigDecimal second = scanner.nextBigDecimal();
        BigDecimal third = scanner.nextBigDecimal();

        System.out.println(first);
        System.out.println(second);
        System.out.println(third);
    }
}

如果你想获得通用输入,请使用

nextString
方法并在读取后解析输入。

© www.soinside.com 2019 - 2024. All rights reserved.