java平均数函数,Java平均函数

I am new to programming and I am trying to figure out a simple average function. I have written a function to average 3 integers. Now I would like to be able to use any collection class and any number class and get the average. The problem is with these classes you can't use + or / to get the average.

So I am wondering if there are any work-arounds to be able to use these two classes?

here is my first function that works:

package refresh;

import java.util.*;

public class Average {

public static void main( String args[]){

int a, b, c;

float average;

Scanner scanner = new Scanner(System.in);

System.out.println("Enter First Number");

a = scanner.nextInt();

System.out.println("Enter Second Number");

b = scanner.nextInt();

System.out.println("Enter Third Number");

c = scanner.nextInt();

average = (float)(a+b+c)/3;

System.out.println("The Average Is "+average );

}

}

Here what I have so far for my problem:

package refresh;

import java.util.*;

public class Average {

public static void main( String args[]){

Collection numbers;

Number count;

Number average;

Scanner scanner = new Scanner(System.in);

System.out.println("Enter Numbers to be averaged");

numbers = (Collection) scanner.match();

count++;

average = numbers/count;

System.out.println("The Average Is "+average);

}

}

Any help would be great! Thanks for your time!

解决方案

It makes no sense to convert a String into a number (which is what Scanner does) if you don't know what kind of number you're trying to convert it into.

You can represent pretty much any number as a Double. If you need arbitrary precision, use BigDecimal.

The averaging code can be fully generic over the Number interface; just use the doubleValue method. If you need BigDecimal, then it's more complicated and you probably need to do things involving instanceof.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值