java字符串数组for循环赋值的问题

创建一个字符串数组,通过average()方法,计算平均值,从命令行接收参数作为字符串数组的元素,当遇到不能转换为整型数值的字符串时,进行异常处理。importjava.... 创建一个字符串数组,通过average()方法,计算平均值,从命令行接收参数作为字符串数组的元素,当遇到不能转换为整型数值的字符串时,进行异常处理。
import java.util.Scanner;
class Average
{

public static void main(String[] args)
{
int i,n=0;
double m;
String a=new String [5];
Scanner scanner=new Scanner(System.in);
for(i=0;i<=10;i++)
{
String a[i]=scanner.nextLine();
}
for(i=0;i<=10;i++)
{
n=n+a[i];
}
m=n/10;
System.out.println(m);
}
}
求助 问题在哪里
展开
 我来答
pan2435781
2015-01-05
知道答主
回答量:29
采纳率:0%
帮助的人:8.8万
展开全部
你的String a=new String[5]写错了,应该写成String[ ] a=new String[5],你这样写编译器没报错吗?
你可以写成这样
int [] a=new int[10];
double average=0;
Scanner s=new Scanner(System.in);
for(int i=0;i<10;i++){
a[i]=s.nextInt();}
for(int i=0;i<10;i++){
average+=a[i];}
average=average/10;
System.out.println(average+" ");就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1c29cc0
2015-01-05 · 超过14用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:16.5万
展开全部
你接收了字符串直接相加得到的还是字符串,你要先把字符串转换为int再相加,用Integer.parseInt,进行转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heptnaol
推荐于2017-12-16 · TA获得超过7260个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1785万
展开全部
1,没理解题意,题意是要从命令行参数及(String []args)的args中获取要求平均数的那些数字,而不是通过Scanner扫描键盘输入。
2,主观限定个数不大于10,错误
3,10次循环却只传教了一个长度5的数组,错误
4,语法错误,类型+变量名只有在第一次声明的时候需要,以后只用变量名,故String a[i]=scanner.nextLine();错误,因为a有前置声明。
5,因为数组元素类型是String,需要调用Double.parseDouble等类似方法,转换为数字形式进行+和除法运算
6,没做异常处理,因为输入的参数不一定都能转化为数字
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式