亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

4-15編程練習答案錯誤

if(num>=0&&num<=9999999999){

? ? do

? ? {

? ? ? ? count++;

? ? ? ? num/=10;

? ? }while(num!=0);

? ? System.out.println(count+"位數");

}else{

? ? System.out.println("輸入有誤");

}

給出的答案會把0判斷成0位數

正在回答

5 回答

package study;


import java.util.Scanner;


public class NumWeiShu {


public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("請輸入一串小于10位的數字");

int num = in.nextInt();

int i = 0;

do{

num = num / 10;

i++;

if(num == 0){

System.out.println("您輸入的數字是"+i+"位");

}

}while(num > 0);

}

}


0 回復 有任何疑惑可以回復我~
public?class?HelloWorld
{
????public?static?void?main(String[]?args)
????{
????????int?num?=?0;
????????int?count?=0;
		if(num>=0&&num<=999999)
		{
			do
			{
				count=count+1;
				num=num/10;
			}while(num!=0);
			System.out.println(count+"位數");
		}
		else
			System.out.println("輸入有誤");
	}
}

試試這個代碼,并沒有太大的改變,只是把

count++;

? ? ? ? ? ? num/= 10;

變成了count=count+1;

num=num/10;

0 回復 有任何疑惑可以回復我~

最小的一位數是1,所以你可以在前面的if判斷中把等于0的情況排除掉,即把小于等于0的等號去掉。

或者不使用do。。。while,而直接用while, 或者其他辦法。

共同學習。。。

0 回復 有任何疑惑可以回復我~
public?class?HelloWorld
{
????public?static?void?main(String[]?args)
????{
????????int?num?=?0;
????????int?count?=?1;
????????while(num>=10)
????????{
????????????count=count+1;
????????????num=num/10;
????????}
????????System.out.println("它是個"+count+"位的數!");
????}
}


0 回復 有任何疑惑可以回復我~

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("它是個" + count + "位的數!");

? ? }else{

? ? ? ? ?System.out.println("請重新輸入");

? ? }

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167759    人
  • 解答問題       18749    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

4-15編程練習答案錯誤

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號