gpt4 book ai didi

java - 在 String 中添加数字而忽略其字母

转载 作者:搜寻专家 更新时间:2023-11-01 02:24:01 25 4
gpt4 key购买 nike

伙计们.. 我需要从用户那里获取 String 输入并仅添加其 numeric values 并忽略 letters。例如,如果用户输入 75Number5,则结果应为 80800dadsadasdwwfvv0002,结果应为 802。但我不断得到 0

import java.util.Scanner;

public class NumberAddition {

public static void main(String[] args)
{
Scanner kbd = new Scanner(System.in);

System.out.println("Enter any String: ");
String myString = kbd.nextLine();
myString = myString.toLowerCase();
int result = 0;

for(int i = 0; i < myString.length(); i++)
{
if(myString.charAt(i) != '1' || myString.charAt(i) != '2' ||
myString.charAt(i) != '3' || myString.charAt(i) != '4' ||
myString.charAt(i) != '5' || myString.charAt(i) != '6' ||
myString.charAt(i) != '7' || myString.charAt(i) != '8' ||
myString.charAt(i) != '9')
result += 0;
else
result += myString.charAt(i);
}

System.out.println("The result is " + result);
}
}

最佳答案

如果我理解你的问题,那么你可以使用 StringBuilder构建一个只有数字的 String 版本。您可以使用 Character.isDigit(char)测试该条件。你可能会使用增强的 for-each loop迭代支持 String 的 char 数组,如

Scanner kbd = new Scanner(System.in);
System.out.println("Enter any String: ");
String myString = kbd.nextLine();
StringBuilder sb = new StringBuilder();
for (char ch : myString.toLowerCase().toCharArray()) {
if (Character.isDigit(ch)) {
sb.append(ch);
}
}
int result = Integer.parseInt(sb.toString());
System.out.println("The result is " + result);

关于java - 在 String 中添加数字而忽略其字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30293387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com