好的,我的问题是如何显示单个int输入的奇数和偶数,而不是整个输入。这是在使用" for"或"而"循环和%调制器。例如,程序要求用户输入正整数,然后它将读取每个数字并列出偶数和奇数位。我无法找到一个读取除.charAt()之外的每个字符的方法,但我无法使其工作。这是我的失败尝试。注意:我不能使用%调制器因为idk读取int的每个数字的任何方法。请帮忙,谢谢。
String = userEntry
int r = userEntry.length() - 1;
System.out.print("The even numbers are ");
int c = 0; // 0 would count as even.
int size = 0;
while (size < r && c < 9)
{
if (c == userEntry.charAt(size))
{
outputFile.print(" " + userEntry.charAt(size));
System.out.print(" " + userEntry.charAt(size));
size++;
}
else
{
c+=2;
}
答案 0 :(得分:0)
if语句可以决定数字是奇数还是偶数。至于 for 语句,为了在整个数组中运行它,你可以使用这样的代码:
for(*variable* = 0; *variable* < userEntry.length; *variable*++)
{
}
答案 1 :(得分:0)
mod运算符为你提供了对int进行除法的剩余部分。
因此,任何数字mod 10将返回最后一位数字,因为除以小于10的数字的余数是数字本身。所以30%10=0
和32%10=2
。所以你可以用mod来分隔数字。
然后对于每个数字,您要检查它是偶数还是奇数。偶数可以被2整除,所以number%2
应该不留余数。
然后你必须将你的数字除以10来对数十列进行相同的处理,然后再对数百列进行分配,依此类推。这应该适合你。
while (number>0) {
if ((number%10)%2==0) {
System.out.println(number % 10 + "even");
}
else {
System.out.println(number % 10+ "odd");
}
number = number / 10;
}
答案 2 :(得分:0)
为此,您可以使用modulo运算符。
public class Main {
/** http://stackoverflow.com/q/36053971/6077352 */
public static void main(String[] args) {
int input = 123456789;
while (input > 0) {
if (input % 2 == 0) {
System.out.println(input % 10 + " is even");
} else {
System.out.println(input % 10 + " is odd");
}
input = input / 10;
}
}
}
示例输出:
9 is odd
8 is even
7 is odd
6 is even
5 is odd
4 is even
3 is odd
2 is even
1 is odd