4-15編程練習(xí)答案錯(cuò)誤
if(num>=0&&num<=9999999999){
? ? do
? ? {
? ? ? ? count++;
? ? ? ? num/=10;
? ? }while(num!=0);
? ? System.out.println(count+"位數(shù)");
}else{
? ? System.out.println("輸入有誤");
}
給出的答案會(huì)把0判斷成0位數(shù)
if(num>=0&&num<=9999999999){
? ? do
? ? {
? ? ? ? count++;
? ? ? ? num/=10;
? ? }while(num!=0);
? ? System.out.println(count+"位數(shù)");
}else{
? ? System.out.println("輸入有誤");
}
給出的答案會(huì)把0判斷成0位數(shù)
2016-12-06
舉報(bào)
2016-12-06
package study;
import java.util.Scanner;
public class NumWeiShu {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("請(qǐng)輸入一串小于10位的數(shù)字");
int num = in.nextInt();
int i = 0;
do{
num = num / 10;
i++;
if(num == 0){
System.out.println("您輸入的數(shù)字是"+i+"位");
}
}while(num > 0);
}
}
2016-12-06
試試這個(gè)代碼,并沒有太大的改變,只是把
count++;
? ? ? ? ? ? num/= 10;
變成了count=count+1;
num=num/10;
2016-12-06
最小的一位數(shù)是1,所以你可以在前面的if判斷中把等于0的情況排除掉,即把小于等于0的等號(hào)去掉。
或者不使用do。。。while,而直接用while, 或者其他辦法。
共同學(xué)習(xí)。。。
2016-12-06
2016-12-06
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
? ? if(num >= 0 && num <=999999999){
? ? ? ? while (num != 0){
? ? ? ? ? ? count++;
? ? ? ? ? ? num/= 10;
? ? ? ? }
? ? ? ? ?System.out.println("它是個(gè)" + count + "位的數(shù)!");
? ? }else{
? ? ? ? ?System.out.println("請(qǐng)重新輸入");
? ? }