为了账号安全,请及时绑定邮箱和手机立即绑定

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工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

4-15编程练习答案错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信