问答详情
源自:4-15 编程练习

为什么不对呢

if(num/10<0){    System.out.println("它是一个位数"); }else if(num/10<10){     System.out.println("它是一十位数"); } else { System.out.println("它是个3位数");     } 是不是很笨?

提问者:白骨凄凄 2017-05-24 17:04

个回答

  • 慕仰4114548
    2017-05-24 21:27:03
    已采纳

    我觉得写代码,这种思维不好。如果是一个8位数呢?难道还打算一个一个这样println()出来,999是定死的,可以写一个动态的,随便什么数都可以判断 下面是写的简单代码,楼主可以运行下

    package imooc;

    import java.util.Scanner;//导入Scanner对象

    public class imooc1 {


    public static void main(String[] args) {

    Scanner input=new Scanner(System.in);//创建Scanner对象

    System.out.println("请输入一个数:");

    int num=input.nextInt();//保存变量

    int count=0;

    do{num/=10;

    count++;

    }while(num>1);

    System.out.println("num是一个"+count+"位数");

    }

    }


  • 白骨凄凄
    2017-05-24 19:17:24

    while((num!= 0)||(count>5))为什么中间是或而不是与呢?

  • qq_饮月亮的马_0
    2017-05-24 17:12:22

    你这代码,没有用到循环,完全只是条件判断,判断的也不对呀:

    仅供参考哦:

    package com.zys;


    public class HelloWorld5{

    public static void main(String[] args){

    int num = 999 ;

    int count = 0;

    while((num!= 0)||(count>5)){

    count++;

    num/=10;

    }

    System.out.println("它是个"+ count+"位的数!");

     

    }


    }