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);
}
}
求助 问题在哪里 展开
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);
}
}
求助 问题在哪里 展开
展开全部
你的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+" ");就可以了
你可以写成这样
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+" ");就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你接收了字符串直接相加得到的还是字符串,你要先把字符串转换为int再相加,用Integer.parseInt,进行转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,没理解题意,题意是要从命令行参数及(String []args)的args中获取要求平均数的那些数字,而不是通过Scanner扫描键盘输入。
2,主观限定个数不大于10,错误
3,10次循环却只传教了一个长度5的数组,错误
4,语法错误,类型+变量名只有在第一次声明的时候需要,以后只用变量名,故String a[i]=scanner.nextLine();错误,因为a有前置声明。
5,因为数组元素类型是String,需要调用Double.parseDouble等类似方法,转换为数字形式进行+和除法运算
6,没做异常处理,因为输入的参数不一定都能转化为数字
2,主观限定个数不大于10,错误
3,10次循环却只传教了一个长度5的数组,错误
4,语法错误,类型+变量名只有在第一次声明的时候需要,以后只用变量名,故String a[i]=scanner.nextLine();错误,因为a有前置声明。
5,因为数组元素类型是String,需要调用Double.parseDouble等类似方法,转换为数字形式进行+和除法运算
6,没做异常处理,因为输入的参数不一定都能转化为数字
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询