java - 为什么我的扫描仪仍然需要一个空格字符

标签 java

输入:1 2 3

目标:每个数字都将填充在同一个数组中。空间将被排除。

Scanner in = new Scanner(System.in);
String  n = in.nextLine();
System.out.println(n);

int[] nums = new int[n.length()];
for (int i = 0; i < n.length(); i++) {
     System.out.println(n.charAt(i));
     if (!String.valueOf(n.charAt(i)).equalsIgnoreCase(" ")) {
          nums[i] = Character.getNumericValue(n.charAt(i));
     }
}

我不知道为什么它仍然包含空格 ""

最佳答案

实现这一目标的一种简单方法是执行以下操作:

String  n = in.nextLine().replace(" ", "");
int nums[] = new int[n.length()];
int i=0;
for(char c : n.toCharArray()) {
    nums[i++] = Character.getNumericValue(c);
}

关于java - 为什么我的扫描仪仍然需要一个空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45215672/

相关文章:

java - 使用正则表达式从字符串中提取带有调用文本的电话号码

java - 如何在我的 Spring MVC 网站中提取常见的 View 代码片段

java - 在 Java 中预分配对象有哪些问题?

java - 将 Java 转换为 Objective-c(Android 到 iOS)

java - 计划运行一次的映射器意外地多次执行

java - 如何在java蛇梯游戏中设置蛇和梯子的位置?

java - android studio 生成Javadoc失败

java - 拖放图像按钮有 onDrag 问题

java - TestNG:在给定路径中运行所有测试

java - JMeter 在 beanshell 中设置用户定义的变量不起作用