用户整数输入上显示数字的次数

时间:2014-07-19 04:29:10

标签: java

我需要做的项目是:

  • 从用户处获取整数(完成)
  • 检查此号码上显示相同数字的次数。(??)
  • 给出每个数字显示的时间的输出。

所以我似乎无法解决这个问题,任何帮助?

(朋友建议“for”循环,但遗憾的是我不知道如何在此任务中使用它。)

非常感谢。

同时我有这个:

      import java.util.Scanner;
      public class HW1 
      {

        public static void main(String[] args) 
         {

              Scanner input = new Scanner(System.in);
              int count, digit, number;
              System.out.println("Enter a positive integer number: ");
              number=input.nextInt();

3 个答案:

答案 0 :(得分:0)

由于这是一个赋值,我相信你必须在一个非常特殊的事情上做,所以我想你必须将输入从String转换为Integer,然后再计数。

要计算将整数转换回String,请计算每个数字的实例数。

我们知道基数10中的数字是:0, 1, 2, 3, 4, 5, 6, 7, 8, 9

因此为它们创建变量。理想情况下,你会使用一个数组,但你可以把自己想象成额外的。这些将跟踪每个数字的实例数:

int zero, one, two, three, four, .... nine;

将整数转换回String:

String s = number + "";

然后使用for循环遍历String并计算每个数字的实例。

for(int i = 0; i < s.length(); i++)
{
    if(s.charAt(i) == '0')
       zero++;

    else if(s.charAt(i) == '1')
       one++;

    else if(s.charAt(i) == '2')
       two++;

    . . .
    // You do the rest.
}

答案 1 :(得分:0)

import java.util.Scanner;       公共类HW1       {

    public static void main(String[] args) 
     {

          Scanner input = new Scanner(System.in);
          int digit, number;
          int[] count=new int[10];
          System.out.println("Enter a positive integer number: ");
          number=input.nextInt();
          while(number>0)
          {              
              digit=number%10;
              switch(digit)
              -{
              case 0:
              count[0]++;
              break;
              case 1:
              count[1]++;
              break;
              .....
              ......
              ........
              case 9:
              count[9]++;
              break;
              default:
               }
              number=number/10;
           }
           for(int i=0;i<=9;i++)
           {
            system.out.println("digit "+i+ "occurs "+count[i]+"times");
           }
             }

希望它能产生预期的产量......

答案 2 :(得分:0)

 public static void main(String[] args) 
 {

      Scanner input = new Scanner(System.in);
      int digit, number;
      int[] count=new int[10];
      System.out.println("Enter a positive integer number: ");
      number=input.nextInt();
      while(number>0)
      {              
          digit=number%10;
          count[digit]++;
          number=number/10;
       }
       for(int i=0;i<=9;i++)
       {
        system.out.println("digit "+i+ "occurs "+count[i]+"times");
       }
         }