簡體   English   中英

我將如何使用二維數組打印季度和總計

[英]how would I use a 2d array to print the quarter and total

編寫一個程序,顯示 4 節比賽中 8 名球員的得分。 程序應該顯示玩家的名字和姓氏,姓氏的首字母和首字母大寫。 分數由用戶輸入,但條目只能包含兩位數。 該程序應合計每個玩家的游戲得分。 output 應該顯示整個多維數組

導入 java.util.Scanner; 導入 java.util.Arrays;

公共 class finalScore {

public static void main(String[] args) {
    
    
    Scanner scan = new Scanner (System.in);
    
    System.out.print("Enter the number of game players: ");
    // using array
    int numOfPlayers = scan.nextInt();
    String[] names = new String[numOfPlayers];
    double[] scores = new double[numOfPlayers];





    
  // using for loop to all the names of the player 

    String list="";
    for (int i=0; i<names.length; i++){
         list += " Quarter " + (i+1) + ": " + scores[i] + " points |||";

    }

    //return;

        // asking user to enter players name
     System.out.print("Enter a players name for quarter 1, " );
      String name;
      name= scan.next();
      // UpperCasing the first letter of the first name
      String result = name.substring(0, 1).toUpperCase()+name.substring(1);       
      String lastName=scan.next();
      // UpperCasing last name 
      String result2=lastName.substring(0, 1).toUpperCase()+lastName.substring(1);
      System.out.println(result + " " +result2);
      
      
      
      
      

   // print name for scores
      names[i] = name;
      // enter name score
      System.out.print("Enter " + result + " "+ result2 +"\'s score: ");
      System.out.println("\n");
      //System.out.println( "Name: \t" + "Q1. ");

     
      
      while(scan.hasNext()) {
        if(scan.hasNextDouble()) {
          double score = scan.nextDouble();
          scores[numOfPlayers] = score;
          break;
        } else {
              System.out.println( "Name: \t" + "Q1. ");

          System.out.println("ERROR: Invalid Input");
          scan.next();
        }
      }
    }
          
          
          
          

             
            //System.out.println("      \tQ1. " );

              
              //System.out.println(  Arrays.toString(names  ) + "\t" +Arrays.toString(scores));
              //
              
    }

這就是 output 應該是什么樣子,我不知道我是新手,請幫我解決 Q1。 Q2。 第三季度第四季度。 總鮑勃·史密斯。 1 2 3 4 10 異形之心 1 2 3 4 10

試試這個怎么樣? 您可以自己添加一些驗證。

public class finalScore {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        System.out.print("Enter the number of game players: ");
        int numOfPlayers = scan.nextInt();
        
        String[] names = new String[numOfPlayers];
        double[][] scores = new double[numOfPlayers][4];

        for (int i = 1; i < names.length + 1; i++) {
            System.out.println("Enter a players name for quarter " + i + ": ");
            String name = scan.next();
            String result = name.substring(0, 1).toUpperCase() + name.substring(1);
            String lastName = scan.next();
            String result2 = lastName.substring(0, 1).toUpperCase() + lastName.substring(1);
            System.out.println(result + " " + result2);
            name = result + " " + result2;
            names[i - 1] = name;
            
            // enter scores
            System.out.println("Enter " + names[i - 1] + "\'s score: ");
            System.out.print("Q1: ");
            scores[i-1][0] = scan.nextInt();
            System.out.print("Q2: ");
            scores[i-1][1] = scan.nextInt();
            System.out.print("Q3: ");
            scores[i-1][2] = scan.nextInt();
            System.out.print("Q4: ");
            scores[i-1][3] = scan.nextInt();
            /*
            System.out.print( "Name: " + name + "\t");
            System.out.print( "Q1: " + scores[i-1][0] + "\t");
            System.out.print( "Q2: " + scores[i-1][1] + "\t");
            System.out.print( "Q3: " + scores[i-1][2] + "\t");
            System.out.print( "Q4: " + scores[i-1][3] + "\t");
            System.out.println();
            */
        }
        System.out.format("%15s%15s%15s%15s%15s%15s%n", new String[] {"Name", "Q1", "Q2", "Q3", "Q4", "Total"});
        for (int i = 0; i < names.length; i++) {
            double total = scores[i][0] + scores[i][1] + scores[i][2] + scores[i][3];
            System.out.format("%15s%15s%15s%15s%15s%15s%n", new String[] {names[i], 
                    String.valueOf(scores[i][0]), 
                    String.valueOf(scores[i][1]), 
                    String.valueOf(scores[i][2]), 
                    String.valueOf(scores[i][3]),
                    String.valueOf(total)
                    });
        }
    }
    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM