如何使用扫描器在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) );
}