java 输入输出数组有问题

importjava.util.Scanner;publicclassTest{staticdoublenp=10;staticdoublee;staticdoublee... import java.util.Scanner;

public class Test {
static double np = 10;
static double e;
static double e2;
static double sum;
static double sum2;
double grade;
static double a[] = new double[(int) np];

static void getnumber() throws ArithmeticException {
for (double i = 0; i < np; i++) {
Scanner cin = new Scanner(System.in);
System.out.println("shuru");
double grade = cin.nextInt();
if (grade < 0.0 || grade > 100.0) {
throw new ArithmeticException("成绩值错误");
} else {
a[(int) i] = grade;
}
}
for (double i = 0; i < np; i++) {
System.out.println("a["+i+"]=" + a[(int) i]);
}
}
static void avegrade() {

for(int i1=0,i1<np,int i1;
i1++ ){
if(a[i1]>=60){
sum=sum+a[i1];
}
else{
sum2=sum2+a[i1];
}
}
e=sum/np;
e2=sum2/np;

}

public static void main(String args[]) {
try{getnumber();}
catch(ArithmeticException e){
System.out.println("发生异常:" + e.getMessage());
}
avegrade();
System.out.println("及格平均分:"+e+"\n");
}

}
算不出平均值
展开
 我来答
匿名用户
2013-10-30
展开全部
package com.test1;

import java.util.Scanner;

public class Test {
int size = 3;
int e=0;
int e2=0;
double pass=0;
double notPass=0;
double score=0;
double a[] = new double[size];

public void getnumber() {
for (int i = 0; i < size; i++) {
Scanner s = new Scanner(System.in);
System.out.println("输入:");
double score = s.nextDouble();
if (score < 0.0 || score > 100.0) {
System.out.println("输入成绩值错误!");
} else {
a[i] = score;
}
}
for (int i = 0; i < a.length; i++) {
System.out.println("第"+(i+1)+"个成绩是:" + a[i]);
}
}
public void avegrade() {

for(int i=0;i<a.length;i++ ){
if(a[i]>=60){
pass+=a[i];
e++;
}
else{
notPass+=a[i];
e2++;
}
}

System.out.println("及格平均分:"+pass/e);
System.out.println("不及格平均分:"+notPass/e2);
}

public static void main(String args[]) {
// try{getnumber();}
// catch(ArithmeticException e){
// System.out.println("发生异常:" + e.getMessage());
// }
// avegrade();
// System.out.println("及格平均分:"+e+"\n");

Test t = new Test();
t.getnumber();
t.avegrade();

}

}
这样是规范正确的写法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
法国浪漫眼神
2013-10-30
知道答主
回答量:30
采纳率:0%
帮助的人:10.3万
展开全部
for(int i1=0,i1<np,int i1;
i1++ ){
这个for语句都写错了
for(int i1=0;i1<np;i1++ ){
还有就是第一个for的i为什么要定义为double类型呢?np为什么要定义为double?数组下标最好定义为int类型,不要强转,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人就是无奈
2013-10-30 · TA获得超过152个赞
知道答主
回答量:260
采纳率:0%
帮助的人:101万
展开全部
我把你的代码复制上去,能算出来啊
下面是运算结果
a[0.0]=10.0
a[1.0]=20.0
a[2.0]=50.0
a[3.0]=90.0
a[4.0]=80.0
a[5.0]=88.0
a[6.0]=33.0
a[7.0]=94.0
a[8.0]=98.0
a[9.0]=88.0
及格平均分:53.8
更多追问追答
追问

追答

你最下面那个for的条件是不是应该(int i1=0;i1<np;i1++)

  • for(int i1=0,i1<np,int i1;
    i1++ ){
    if(a[i1]>=60){
    sum=sum+a[i1];
    }
    else{
    sum2=sum2+a[i1];
    }
    }
    e=sum/np;
    e2=sum2/np;
     

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bo...n@126.com
2013-10-30 · 超过18用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:46.9万
展开全部
static 只能被static访问,其他的都不行,这是一个规范
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式