如何编写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个这样的数字而不使用数组。
答案 0 :(得分:2)
将int输入解析为字符串,替换所有奇数位,然后输出输出(如果需要,解析回int):
int input = 123456;
String str = String.valueOf(input);
String res = str.replaceAll("[13579]", "");
System.out.println(res);
答案 1 :(得分: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.getNumericValue
将char
转换为其数值