我怎么能在数组的每一行中加上值?

时间:2015-11-30 19:20:05

标签: java arrays

这是我的任务

enter image description here

我有程序,打印出数组中的值,该步骤不需要在那里,这是循环的最后一个。而不是我需要使用我所拥有的die类按值添加行,代码是something.getFaceValue();.

代码低于

import java.util.Scanner;

class ASgn8 
{

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    System.out.print("How many players? ");
    int playerCount = scan.nextInt(); // get number of participant player...
    scan.nextLine();

    Die[] tempDie = new Die[5]; // temporary purpose
    Die[][] finalDie = new Die[5][]; // final array in which all rolled dies stores...
    int tempVar = 0;

    String [] playerName = new String[playerCount]; // stores player name

    int totalRollDie = 0; // keep track number of user hash rolled dies...

    for(int i = 0; i < playerCount; i++) // get all player name from command prompt...
    {
        System.out.print("What is your name: ");
        String plyrName = scan.nextLine();
        playerName[i] = plyrName;
    }

    for(int i = 0; i < playerCount; i++)
    { 

        System.out.println(playerName[i] + "'s turn....");
            totalRollDie = 0;
            Die d = new Die();
            System.out.println("Rolled : " + d.roll()) ;
            tempDie[totalRollDie] = d; 
            totalRollDie++;
            System.out.println("Want More (Yes/No) ???");
            int choice = scan.nextInt();

                while(choice == 1)
                {
                    if(totalRollDie < 5)
                    {
                    Die dd = new Die();
                    System.out.println("Rolled : " + dd.roll()) ; 
                    tempDie[totalRollDie] = dd;
                    totalRollDie++;
                    System.out.println("Want More (Yes/No) ???");
                    choice = scan.nextInt();
                }
            }

            finalDie[i] = new Die[totalRollDie];
            for(int var = 0 ; var < totalRollDie ; var++)
            {
                finalDie[i][var] = tempDie[var]; 
            }
    }

    for(int i = 0 ;i < playerCount ; i++) //prints out the values stored in the array. need to sum them instead.
    { 
        System.out.println(" --------- " + playerName[i] + " ------------ ");

        for(Die de : finalDie[i])
        {
            System.out.println(de);
        }
    }


    tempDie = null;

}
}

任何人都有任何提示吗?

编辑:模特课

public class Die
{
   private final int MAX = 6;  

   private int faceValue;  


   public Die()
   {
      faceValue = 1;
   }


   public int roll()
   {
      faceValue = (int)(Math.random() * MAX) + 1;

      return faceValue;
   }

   public void setFaceValue(int value)
   {
      faceValue = value;
   }


   public int getFaceValue()
   {
      return faceValue;
   }


   public String toString()
   {
      String result = Integer.toString(faceValue);

     return result;
  }
}

2 个答案:

答案 0 :(得分:1)

将以下代码附加到您的存在代码中

it(",function(){", function() {
it(',function(){', function() {

答案 1 :(得分:0)

如果我理解你的问题,你可以将值存储在一个变量中;

int[] mPlayerScores = new int[playerCount];
String name = "";

for(int i = 0 ;i < playerCount ; i++) //prints out the values stored in the array. need to sum them instead.
{ 

    int playerScoreSum = 0;
    name = playerName[i];
    System.out.println(" --------- " + name + " ------------ ");

    for(Die de : finalDie[i])
    {
        playerScoreSum += de;

    }

 // this should store the sums in an array
 mPlayerScores[i] = playerScoreSum;

 //display the result for each player outside the for-loop to avoid continous printing
 System.out.println(playerScoreSum);

}

    //finds the highest score
    double max = mPlayerScores[0];

    for (int j = 1; j< mPlayerScores.length; j++)
    {
     if (mPlayerScores[j] > max)
     {
      max = mPlayerScores[j];

     }
    }
 System.out.println(name+" is the winner with " + max+ " score");