如何使用扫描器在Java中编写一个类来平均一个数字的位数

如何使用扫描器在Java中编写一个类来平均一个数字的位数,java,Java,这是我的外壳: import java.util.*; //this example demonstrates how to to use a //while loop to average all of the digits of a number public class AveragingDigits { public static int countDigits( int num ) { return 0; } public static double sumDigit

这是我的外壳:

import java.util.*;

//this example demonstrates how to to use a
//while loop to average all of the digits of a number

public class AveragingDigits
{
 public static int countDigits( int num )
 {
  return 0;
 }

 public static double sumDigits( int num )
 {
  return 0.0;
 }

 public static double averageDigits( int num )
 {
  return 0.0;
 }

   public static void main(String args[])
   {
  Scanner kb = new Scanner( System.in );
  System.out.print( "Enter a number :: " );
  int num = kb.nextInt();
  System.out.println("The digit average is " + averageDigits( num) );
 }
}

如何使用此shell打印我使用扫描仪输入的数字的平均值?

您需要这样做

public static int countDigits( int num )
{
    return (String.valueOf(num)).length();
}

public static double sumDigits( int num )
{
    double sum=0.0;
    while (num > 0) {
        sum += num % 10;
        num = num / 10;
    }
    return sum;
}

public static double averageDigits( int num )
{
    return sumDigits(num) / countDigits(num);
}
输出

Enter a number :: 12345
The digit average is 3.0

我试着用你的设置来做,但是用一种计算平均值的方法可以更简单

    public class AveragingDigits
{
 int count=0;
 int sum=0;
 double temp=0;
double average=0;
double total=0;

 public static int countDigits( int num )
 {

 if (num==num)
{
 count++;

 }
 return count;
 }

public static double sumDigits( double num )
{

   temp=num;
total=total+temp;
return total;
 }

 public static double averageDigits( double num )
 {
 total=sumDigits( num );
 count=countDigits(  num );
 return total/count;
 }

 public static void main(String args[])
 {
 Scanner kb = new Scanner( System.in );
System.out.print( "Enter a number :: " );
 int num = kb.nextInt();
 System.out.println("The digit average is " + averageDigits( num) );
  }
}

    public class AveragingDigits
{
 int count=0;
 int sum=0;
 double temp=0;
double average=0;
double total=0;

 public static int countDigits( int num )
 {

 if (num==num)
{
 count++;

 }
 return count;
 }

public static double sumDigits( double num )
{

   temp=num;
total=total+temp;
return total;
 }

 public static double averageDigits( double num )
 {
 total=sumDigits( num );
 count=countDigits(  num );
 return total/count;
 }

 public static void main(String args[])
 {
 Scanner kb = new Scanner( System.in );
System.out.print( "Enter a number :: " );
 int num = kb.nextInt();
 System.out.println("The digit average is " + averageDigits( num) );
  }