二元运算符的坏操作数类型+(JAVA PROGRAM)

时间:2016-05-06 03:27:43

标签: java arrays

我正在用java做我的课堂实验。

该计划是通过总计总分输出获胜团队。 (输入文件中有蓝队和白队,成员的名字和每个成员的得分。)

我有二进制运算符的错误操作数类型。(sumArray)我认为这是因为int type + int []。任何人都可以帮助我吗?如果您发现任何其他问题,请告诉我。我想除此之外还有很多错误。

import java.io.*;
import java.util.*;

// declaration of the class
public class Bowling
{

// declaration of main program 
public static void main(String[] args) throws FileNotFoundException
{

// 1. connect to input file
Scanner fin = new Scanner(new FileReader("bowling.txt"));

    // declare arrays below
String Team, Member;
int teamw, teamb, Score;

    // 2) initialize array accumulators to zero
    teamw=0;
    teamb=0;
    int [] white_score = new int[3]; 
    String [] white_member = new String[3]; 
    int [] blue_score = new int[3];
    String [] blue_member = new String[3];
    // 3) display a descriptive message
System.out.println(
        "This program reads the lines from the file bowling.txt to determine\n"
        + "the winner of a bowling match.  The winning team, members and scores\n"
           + "are displayed on the monitor.\n");

    // 4) test Scanner.eof() condition
    while (fin.hasNext())
       {
       // 5) attempt to input next line from file
       Member = fin.next();
       Team = fin.next();
       Score = fin.nextInt();
       // 6) test team color is blue
       // 7) then store blue member and score
       // 8) increase blue array accumulator
       // 9) else store white member and score
        // 10) increase white array accumulator
       if (Team.equals("Blue"))
       {
           blue_member[teamb]=Member;
           blue_score[teamb] = Score;
           teamb++;
       }
       else
       {
           white_member[teamw]= Member;
           white_score[teamw]= Score;
           teamw++;
       }
    }

    // 11) if blue team score is larger
    // 12) then display blue team as winner
    // 13) else display white team as winner
    if(sumArray(blue_score)>sumArray(white_score))
    {
        printArray("Blue", blue_member, blue_score);
    }
    else
    {
        printArray("White", white_member, white_score);
    }

    // 14 disconnect from the input file
fin.close();
}
public static int sumArray(int[] Score)
{
    int sum=0;

    for ( int i=0; i<Score.length; i++)
     sum = sum+Score;           ////HERE IS problem!!!!!!

    return sum;
}
public static void printArray(String Team, String[] Member, int[] Score)
    {
    for(int i=0; i<Member.length; i++)
    System.out.printf("winning team:"+Team+"\n"+Member+":"+Score);
    }
}

1 个答案:

答案 0 :(得分:1)

只需使用:

sum += Score[i];

for循环中添加数组元素。

您收到错误是因为您无法使用数组添加int。在Java中,您不能直接将+运算符与数组一起使用。