号码搜索,而无需使用数组

问题描述 投票:-1回答:2

如何写一个Java程序来获得从用户的数,从该取出的奇数和不使用阵列显示偶数(例如:I / P:2345678,O / P:2468)

我可以做阵列。

public class NumberSearch {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int n[] = {1,2,3,4,5,6};
        System.out.println("Even number");
        for(int i=0;i<n.length;i++){
            if(n[i]%2==0){
                System.out.println(n[i]);
            }
        } 
}}  

但我想用做数字123456像这样不使用数组。

java
2个回答
1
投票

您可以通过文字去,且只甚至是那些添加到输出字符串。

String input = "2345678";

StringBuilder sb = new StringBuilder();
for(char c : input.toCharArray()) {
    if(Character.getNumericValue(c) % 2 == 0) {
        sb.append(c);
    }
}
String output = sb.toString();

System.out.println(output);

输出:

2468
  • 我使用的是StringBuilder因为它是在循环效率更高。
  • 您需要使用Character.getNumericValuechar转变成其数值

2
投票

解析INT输入到串,更换所有的奇数数字,并打印输出(如果需要解析回INT):

    int input  = 123456;
    String str = String.valueOf(input);
    String res = str.replaceAll("[13579]", "");
    System.out.println(res);
© www.soinside.com 2019 - 2024. All rights reserved.