設計並實現一個應用程序,該應用程序確定並打印從鍵盤讀取的int值中的偶數位,奇數位和零位數 。需要使用while循環的幫助來使打印語句有效
例子:
Enter a number: 100504575
The number: 100504575 has 3 zeros, 1 evens, and 5 odds.
所以代碼是說進入一個數字,然後它會算多少找齊賠率和零,然後再重新打印數量,並說有多少勝算脣上和零有。計數部分的工作,我只是無法得到數字部分工作在這個打印聲明。如果我輸入數字1384932,它應該打印出來:數字:有0個零,3個evens和4個賠率。 當前它打印出來:數量:有0個零,3個evens和4個賠率。
是System.out.print( 「總數:」 + NUM + 「具有」 +零+ 「0」, +甚至+ 「找齊,」 + 「和」 +奇+ 「賠率」) ;
import java.util.Scanner;
public class CountDigits {
public static void main(String[] args) {
//Scanner scan = new Scanner(System.in);
Scanner Scan = new Scanner(System.in);
int even =0, odd = 0, zero = 0;
System.out.print ("Enter a number: ");
int num = Scan.nextInt();
while(num > 0) {
int digit = num % 10;
num /= 10;
if(digit == 0) {
zero++;
} else if(digit % 2 == 0) {
even++;
} else {
odd++;
}
}
System.out.print("The number: " + num + " has " + zero + " zeros, "
+ even + " evens, " + "and " + odd + " odds.");
Scan.close();
}
}
請將語言作爲標籤 – Pikamander2
您的循環從不退出,因爲除非您輸入了「0」,否則'num'總是'> 0'。用@ChiefTwoPencils答案去改變這一點。但我增加了一種不同的思考方式。 –
是@ChiefTwoPencils – codingisntmyfavorite